Book Image

Modern C++ Programming Cookbook - Third Edition

By : Marius Bancila
Book Image

Modern C++ Programming Cookbook - Third Edition

By: Marius Bancila

Overview of this book

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.
Table of Contents (15 chapters)
13
Other Books You May Enjoy
14
Index

Index

A

abbreviated function templates 724-726

Active Template Library (ATL) 617

alias templates 9

creating 7

almost always auto (AAA) 2

app-get 641

ASCII encoding 90

associative containers 291

atomic constraints 718

atomic types

using 472-480

attorney-client idiom 613

friendship, handling with 613-616

attributes

for providing metadata to compiler 228-233

auto

using 2-7

automatic type deduction 2

B

barrier 514

behavior-driven development (BDD) style 677

binary search trees (BST) 295

binding 56-58

bit manipulation utilities

using 252-255

bitset

using, for fixed-size sequences of bits 241-247

Boost library

download link 641

Boost.Test 640

asserting with 650-653

environment, setting up 641

fixtures, using 653-657

outputs, controlling with 658-661

shared library 642

single header 642

static library 642

tests, invoking 645-648

tests...