Modern C++ programming cookbook master modern C++ including the latest features of C++23 with 140+ practical recipes

The updated third edition of Modern C++ Programming Cookbook addresses the latest features of C++23, such as the stack library, the expected and mdspan types, span buffers, formatting library improvements, and updates to the ranges library. It also gets into more C++20 topics not previously covered,...

Full description

Bibliographic Details
Main Author: Bancila, Marius
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing 2024
Edition:Third edition
Series:Expert insight
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05490nmm a2200409 u 4500
001 EB002200387
003 EBX01000000000000001337590
005 00000000000000.0
007 cr|||||||||||||||||||||
008 240402 ||| eng
020 |a 1835084842 
050 4 |a QA76.73.C153 
100 1 |a Bancila, Marius 
245 0 0 |a Modern C++ programming cookbook  |b master modern C++ including the latest features of C++23 with 140+ practical recipes  |c Marius Bancila 
250 |a Third edition 
260 |a Birmingham, UK  |b Packt Publishing  |c 2024 
300 |a xix, 794 pages  |b illustrations 
505 0 |a Formatting and printing text with std::format and std::print -- Using std::format with user-defined types -- Chapter 3: Exploring Functions -- Defaulted and deleted functions -- Using lambdas with standard algorithms -- Using generic and template lambdas -- Writing a recursive lambda -- Writing function templates -- Writing a function template with a variable number of arguments -- Using fold expressions to simplify variadic function templates -- Implementing the higher-order functions map and fold -- Composing functions into a higher-order function -- Uniformly invoking anything callable 
505 0 |a Chapter 4: Preprocessing and Compilation -- Conditionally compiling your source code -- Using the indirection pattern for preprocessor stringification and concatenation -- Performing compile-time assertion checks with static_assert -- Conditionally compiling classes and functions with enable_if -- Selecting branches at compile time with constexpr if -- Providing metadata to the compiler with attributes -- Chapter 5: Standard Library Containers, Algorithms, and Iterators -- Using vector as a default container -- Using bitset for fixed-size sequences of bits 
505 0 |a Cover -- Copyright -- Contributors -- Table of Contents -- Preface -- Chapter 1: Learning Modern Core Language Features -- Using auto whenever possible -- Creating type aliases and alias templates -- Understanding uniform initialization -- Understanding the various forms of non-static member initialization -- Controlling and querying object alignment -- Using scoped enumerations -- Using override and final for virtual methods -- Using range-based for loops to iterate on a range -- Enabling range-based for loops for custom types 
505 0 |a Using explicit constructors and conversion operators to avoid implicit conversion -- Using unnamed namespaces instead of static globals -- Using inline namespaces for symbol versioning -- Using structured bindings to handle multi-return values -- Simplifying code with class template argument deduction -- Using the subscript operator to access elements in a collection -- Chapter 2: Working with Numbers and Strings -- Understanding the various numeric types -- Limits and other properties of numeric types -- Converting between numeric and string types 
505 0 |a Understanding the various character and string types -- Printing Unicode characters to the output console -- Generating pseudo-random numbers -- Properly initializing a pseudo-random number generator -- Creating cooked user-defined literals -- Creating raw user-defined literals -- Using raw string literals to avoid escaping characters -- Creating a library of string helpers -- Parsing the content of a string using regular expressions -- Replacing the content of a string using regular expressions -- Using std::string_view instead of constant string references 
653 |a Programmation (Informatique) 
653 |a Computer programming / http://id.loc.gov/authorities/subjects/sh85107310 
653 |a C++ (Langage de programmation) 
653 |a C++ (Computer program language) / http://id.loc.gov/authorities/subjects/sh87007505 
653 |a computer programming / aat 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
490 0 |a Expert insight 
500 |a Includes index 
776 |z 9781835080542 
776 |z 1835084842 
776 |z 9781835084847 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781835080542/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.13/3 
520 |a The updated third edition of Modern C++ Programming Cookbook addresses the latest features of C++23, such as the stack library, the expected and mdspan types, span buffers, formatting library improvements, and updates to the ranges library. It also gets into more C++20 topics not previously covered, such as sync output streams and source_location. The book is organized in the form of practical recipes covering a wide range of real-world problems. It gets into the details of all the core concepts of modern C++ programming, such as functions and classes, iterators and algorithms, streams and the file system, threading and concurrency, smart pointers and move semantics, and many others. You will cover the performance aspects of programming in depth, and learning to write fast and lean code with the help of best practices. You will explore useful patterns and the implementation of many idioms, including pimpl, named parameter, attorney-client, and the factory pattern. A chapter dedicated to unit testing introduces you to three of the most widely used libraries for C++: Boost.Test, Google Test, and Catch2. By the end of this modern C++ programming book, you will be able to effectively leverage the features and techniques of C++11/14/17/20/23 programming to enhance the performance, scalability, and efficiency of your applications