Loading...
Error

John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith - Embracing Modern C++ Safely [2022, Профессиональное программирование, EPUB][ENG]

Ответить на тему

 | 

 
Автор Сообщение

mrbbfst

Embracing Modern C++ Safely

Безопасное использование современного C++

Год выпуска: 2022
Автор: John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith
Язык: Английский
Издательство: O`REILLY
ISBN-13: 978-0-13-738035-0
ISBN-10: 0-13-738035-6
Формат: EPUB
Качество: Электронное издание: набор,верстка
Количество страниц: 1287
Описание: Embracing Modern C++ Safely покажет вам, как эффективно использовать новые и расширенные языковые возможности современного C++, не становясь жертвой их потенциальных ловушек.
Основываясь на своем многолетнем опыте работы с крупными, критически важными проектами, четыре ведущих специалиста по C++ разделяют возможности языка C++11/14 на три категории: Безопасные, Условно безопасные и Небезопасные. Безопасные функции предлагают убедительную ценность, их легко использовать продуктивно, и их относительно трудно использовать не по назначению. Условно безопасные функции имеют значительную ценность, но сопряжены с рисками, которые требуют значительного опыта и знакомства перед использованием. Небезопасные функции имеют особенно плохое соотношение риск/вознаграждение, их легко использовать не по назначению, и они полезны только в самых специфических обстоятельствах.
Эта книга обобщает многолетний опыт сообщества C++ в применении возможностей C++11 и C++14 и поможет вам принимать эффективные и безопасные проектные решения, которые отражают реальные экономические компромиссы в крупномасштабных и разнообразных средах разработки программного обеспечения. Авторы используют примеры, взятые из реальных баз кода, чтобы объективно проиллюстрировать каждый вывод и осветить ключевые вопросы. Каждая особенность определяет обоснованные случаи использования, скрытые подводные камни и недостатки этой языковой особенности. Прочитав эту книгу, вы
Поймете, что делает каждая функция C++11/14 и где она лучше всего работает
Узнаете, как обойти бросающиеся в глаза подводные камни и раздражающие угловые случаи
Узнаете, какие функции требуют дополнительного обучения, опыта и экспертной оценки
Получите представление о подготовке стандартов кодирования и руководств по стилю, отвечающих потребностям вашей организации
Быть готовым к постепенному и разумному внедрению современного C++ в устоявшиеся кодовые базы.
Опытные разработчики C++, руководители групп и технические менеджеры, желающие повысить производительность, качество кода и удобство сопровождения, найдут в этом модульном, тщательно организованном справочнике незаменимые знания.
Подробности см. внутри книги.


  • Foreword by Shawn Edwards
  • Foreword by Andrei Alexandrescu
  • Acknowledgments
  • About the Authors


Chapter 0 Introduction
  • What Makes This Book Different
  • Scope for the First Edition
  • The EMC++S Guiding Principles
  • What Do We Mean by Safely?
  • A Safe Feature
  • A Conditionally Safe Feature
  • An Unsafe Feature
  • Modern C++ Feature Catalog
  • How to Use This Book
Chapter 1 Safe Features
1.1 C++11
  • Attribute Syntax
  • Generalized Attribute Support
  • Consecutive >s
  • Consecutive Right-Angle Brackets
  • decltype
  • Operator for Extracting Expression Types
  • Defaulted Functions
  • Using = default for Special Member Functions
  • Delegating Ctors
  • Constructors Calling Other Constructors
  • Deleted Functions
  • Using = delete for Arbitrary Functions
  • explicit Operators
  • Explicit Conversion Operators
  • Function static '11
  • Thread-Safe Function-Scope static Variables
  • Local Types '11
  • Local/Unnamed Types as Template Arguments
  • long long
  • The long long (≥64 bits) Integral Type
  • noreturn
  • The [[noreturn]] Attribute
  • nullptr
  • The Null-Pointer-Literal Keyword
  • override
  • The override Member-Function Specifier
  • Raw String Literals
  • Syntax for Unprocessed String Contents
  • static_assert
  • Compile-Time Assertions
  • Trailing Return
  • Trailing Function Return Types
  • Unicode Literals
  • Unicode String Literals
  • using Aliases
  • Type/Template Aliases (Extended typedef)
1.2 C++14
  • Aggregate Init '14
  • Aggregates Having Default Member Initializers
  • Binary Literals
  • Binary Literals: The 0b Prefix
  • deprecated
  • The [[deprecated]] Attribute
  • Digit Separators
  • The Digit Separator (')
  • Variable Templates
  • Templated Variable Declarations/Definitions
Chapter 2 Conditionally Safe Features
2.1 C++11
  • alignas
  • The alignas Specifier
  • alignof
  • The alignof Operator
  • auto Variables
  • Variables of Automatically Deduced Type
  • Braced Init
  • Braced-Initialization Syntax: {}
  • constexpr Functions
  • Compile-Time Invocable Functions
  • constexpr Variables
  • Compile-Time Accessible Variables
  • Default Member Init
  • Default class/union Member Initializers
  • enum class
  • Strongly Typed, Scoped Enumerations
  • extern template
  • Explicit-Instantiation Declarations
  • Forwarding References
  • Forwarding References (T&&)
  • Generalized PODs '11
  • Trivial and Standard-Layout Types
  • Inheriting Ctors
  • Inheriting Base-Class Constructors
  • initializer_list
  • List Initialization: std::initializer_list<T>
  • Lambdas
  • Anonymous Function Objects (Closures)
  • noexcept Operator
  • Asking if an Expression Cannot throw
  • Opaque enums
  • Opaque Enumeration Declarations
  • Range for
  • Range-Based for Loops
  • Rvalue References
  • Move Semantics and Rvalue References (&&)
  • Underlying Type '11
  • Explicit Enumeration Underlying Type
  • User-Defined Literals
  • User-Defined Literal Operators
  • Variadic Templates
  • Variable-Argument-Count Templates
2.2 C++14
  • constexpr Functions '14
  • Relaxed Restrictions on constexpr Functions
  • Generic Lambdas
  • Lambdas Having a Templated Call Operator
  • Lambda Captures
  • Lambda-Capture Expressions
Chapter 3 Unsafe Features
3.1 C++11
  • carries_dependency
  • The [[carries_dependency]] Attribute
  • final
  • Prohibiting Overriding and Derivation
  • friend '11
  • Extended friend Declarations
  • inline namespace
  • Transparently Nested Namespaces
  • noexcept Specifier
  • The noexcept Function Specification
  • Ref-Qualifiers
  • Reference-Qualified Member Functions
  • union '11
  • Unions Having Non-Trivial Members
3.2 3.2 C++14
  • auto Return
  • Function (auto) Return-Type Deduction
  • decltype(auto)
  • Deducing Types Using decltype Semantics
  • Afterword: Looking Back and Looking Forward
  • Glossary
  • Bibliography
  • Index
Download
Для скачивания .torrent файлов необходима регистрация
Сайт не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Показать сообщения:    
Ответить на тему