Details

Title Modern C++ programming cookbook: master C++ core language and standard library features, with over 100 recipes, updated to C++20. — Second edition.
Creators Bancila Marius
Collection Электронные книги зарубежных издательств ; Общая коллекция
Subjects C++ (Computer program language) ; Computer programming. ; EBSCO eBooks
Document type Other
File type PDF
Language English
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key on1198583887
Record create date 9/16/2020

Allowed Actions

pdf/2621661.pdf
Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network
epub/2621661.epub
Action 'Download' will be available if you login or access site from another network
Group Anonymous
Network Internet
Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous
  • Cover
  • Copyright
  • Packt Page
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Learning Modern Core Language Features
    • Using auto whenever possible
      • How to do it...
      • How it works...
      • See also
    • Creating type aliases and alias templates
      • How to do it...
      • How it works...
      • See also
    • Understanding uniform initialization
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Understanding the various forms of non-static member initialization
      • How to do it...
      • How it works...
      • See also
    • Controlling and querying object alignment
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using scoped enumerations
      • How to do it...
      • How it works...
      • See also
    • Using override and final for virtual methods
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using range-based for loops to iterate on a range
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Enabling range-based for loops for custom types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using explicit constructors and conversion operators to avoid implicit conversion
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using unnamed namespaces instead of static globals
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using inline namespaces for symbol versioning
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using structured bindings to handle multi-return values
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Simplifying code with class template argument deduction
      • How to do it...
      • How it works...
      • See also
  • Chapter 2: Working with Numbers and Strings
    • Converting between numeric and string types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Limits and other properties of numeric types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Generating pseudo-random numbers
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Initializing all bits of internal state of a pseudo-random number generator
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Creating cooked user-defined literals
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Creating raw user-defined literals
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using raw string literals to avoid escaping characters
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Creating a library of string helpers
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Verifying the format of a string using regular expressions
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Parsing the content of a string using regular expressions
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Replacing the content of a string using regular expressions
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using string_view instead of constant string references
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Formatting text with std::format
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::format with user-defined types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
  • Chapter 3: Exploring Functions
    • Defaulted and deleted functions
      • Getting started
      • How to do it...
      • How it works...
      • See also
    • Using lambdas with standard algorithms
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using generic and template lambdas
      • Getting started
      • How to do it...
      • How it works...
      • See also
    • Writing a recursive lambda
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Writing a function template with a variable number of arguments
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using fold expressions to simplify variadic function templates
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Implementing the higher-order functions map and fold
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Composing functions into a higher-order function
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Uniformly invoking anything callable
      • Getting ready
      • How to do it...
      • How it works...
      • See also
  • Chapter 4: Preprocessing and Compilation
    • Conditionally compiling your source code
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using the indirection pattern for preprocessor stringification and concatenation
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Performing compile-time assertion checks with static_assert
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Conditionally compiling classes and functions with enable_if
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Selecting branches at compile time with constexpr if
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Providing metadata to the compiler with attributes
      • How to do it...
      • How it works...
      • See also
  • Chapter 5: Standard Library Containers, Algorithms, and Iterators
    • Using vector as a default container
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using bitset for fixed-size sequences of bits
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using vector for variable-size sequences of bits
      • Getting ready...
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using the bit manipulation utilities
      • Getting ready
      • How to do it…
      • How it works…
      • See also
    • Finding elements in a range
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Sorting a range
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Initializing a range
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using set operations on a range
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using iterators to insert new elements into a container
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Writing your own random-access iterator
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Container access with non-member functions
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
  • Chapter 6: General-Purpose Utilities
    • Expressing time intervals with chrono::duration
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Working with calendars
      • Getting ready
      • How to do it…
      • How it works…
      • There's more…
      • See also
    • Converting times between time zones
      • Getting ready
      • How to do it…
      • How it works…
      • See also
    • Measuring function execution time with a standard clock
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Generating hash values for custom types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::any to store any value
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::optional to store optional values
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::variant as a type-safe union
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Visiting an std::variant
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::span for contiguous sequences of objects
      • Getting ready
      • How to do it…
      • How it works…
      • See also
    • Registering a function to be called when a program exits normally
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using type traits to query properties of types
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Writing your own type traits
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using std::conditional to choose between types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
  • Chapter 7: Working with Files and Streams
    • Reading and writing raw data from/to binary files
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Reading and writing objects from/to binary files
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using localized settings for streams
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using I/O manipulators to control the output of a stream
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using monetary I/O manipulators
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using time I/O manipulators
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Working with filesystem paths
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Creating, copying, and deleting files and directories
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Removing content from a file
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Checking the properties of an existing file or directory
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Enumerating the content of a directory
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Finding a file
      • Getting ready
      • How to do it...
      • How it works...
      • See also
  • Chapter 8: Leveraging Threading and Concurrency
    • Working with threads
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Synchronizing access to shared data with mutexes and locks
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Avoiding using recursive mutexes
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Handling exceptions from thread functions
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Sending notifications between threads
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using promises and futures to return values from threads
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Executing functions asynchronously
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using atomic types
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Implementing parallel map and fold with threads
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Implementing parallel map and fold with tasks
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Implementing parallel map and fold with standard parallel algorithms
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using joinable threads and cancellation mechanisms
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using thread synchronization mechanisms
      • Getting ready
      • How to do it...
      • How it works...
      • See also
  • Chapter 9: Robustness and Performance
    • Using exceptions for error handling
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using noexcept for functions that do not throw exceptions
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Ensuring constant correctness for a program
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Creating compile-time constant expressions
      • Getting ready
      • How to do it...
      • How it works...
      • There's more…
      • See also
    • Creating immediate functions
      • How to do it…
      • How it works…
      • See also
    • Performing correct type casts
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using unique_ptr to uniquely own a memory resource
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using shared_ptr to share a memory resource
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Implementing move semantics
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Consistent comparison with the operator <=>
      • Getting ready
      • How to do it…
      • How it works…
      • See also
  • Chapter 10: Implementing Patterns and Idioms
    • Avoiding repetitive if...else statements in factory patterns
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Implementing the pimpl idiom
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Implementing the named parameter idiom
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Separating interfaces and implementations with the non-virtual interface idiom
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Handling friendship with the attorney-client idiom
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Static polymorphism with the curiously recurring template pattern
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Implementing a thread-safe singleton
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
  • Chapter 11: Exploring Testing Frameworks
    • Getting started with Boost.Test
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Writing and invoking tests with Boost.Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Asserting with Boost.Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Using fixtures in Boost.Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Controlling outputs with Boost.Test
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Getting started with Google Test
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Writing and invoking tests with Google Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Asserting with Google Test
      • How to do it...
      • How it works...
      • See also
    • Using test fixtures with Google Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Controlling output with Google Test
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Getting started with Catch2
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Writing and invoking tests with Catch2
      • How to do it...
      • How it works...
      • See also
    • Asserting with Catch2
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Controlling output with Catch2
      • Getting ready
      • How to do it…
      • How it works...
      • See also
  • Chapter 12: C++20 Core Features
    • Working with modules
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Understanding module partitions
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Specifying requirements on template arguments with concepts
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Using requires expressions and clauses
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Iterating over collections with the ranges library
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Creating your own range view
      • Getting ready
      • How to do it...
      • How it works...
      • See also
    • Creating a coroutine task type for asynchronous computations
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
    • Creating a coroutine generator type for sequences of values
      • Getting ready
      • How to do it...
      • How it works...
      • There's more...
      • See also
  • Bibliography
    • Websites
    • Articles and books
  • Other Books You May Enjoy
  • Index
pdf/2621661.pdf

Access count: 2 
Last 30 days: 0

Detailed usage statistics

epub/2621661.epub

Access count: 0 
Last 30 days: 0

Detailed usage statistics