In C++11 and later, the <atomic> header contains the definition of class template std::atomic<T>. There are two different ways you can think about std::atomic: you can think of it as a class template just like std::vector, with overloaded operators that just happen to implement thread-safe operations; or you can think of it as a magical built-in family of types whose names just happen to contain angle brackets. The latter way of thinking about it is actually pretty useful, because it suggests--correctly--that std::atomic is partly built into the compiler, and so the compiler will usually generate optimal code for atomic operations. The latter also suggests a way in which atomic is different from vector: with std::vector<T>, the T can be pretty much anything you like. With std::atomic<T>, the T is can be...

Mastering the C++17 STL
By :

Mastering the C++17 STL
By:
Overview of this book
Modern C++ has come a long way since 2011. The latest update, C++17, has just been ratified and several implementations are on the way.
This book is your guide to the C++ standard library, including the very latest C++17 features.
The book starts by exploring the C++ Standard Template Library in depth. You will learn the key differences between classical polymorphism and generic programming, the foundation of the STL. You will also learn how to use the various algorithms and containers in the STL to suit your programming needs. The next module delves into the tools of modern C++. Here you will learn about algebraic types such as std::optional, vocabulary types such as std::function, smart pointers, and synchronization primitives such as std::atomic and std::mutex. In the final module, you will learn about C++'s support for regular expressions and file I/O.
By the end of the book you will be proficient in using the C++17 standard library to implement real programs, and you'll have gained a solid understanding of the library's own internals.
Table of Contents (13 chapters)
Preface
Classical Polymorphism and Generic Programming
Iterators and Ranges
The Iterator-Pair Algorithms
The Container Zoo
Vocabulary Types
Smart Pointers
Concurrency
Allocators
Iostreams
Regular Expressions
Random Numbers
How would like to rate this book
Customer Reviews