Introduction
This chapter is dedicated to utility classes that are very useful for solving very specific tasks. Some of them are indeed so useful that we will most probably see them extremely often in any C++ program snippet in the future or have at least already seen them sprinkled over all other chapters in this book.
The first two recipes are about measuring and taking the time. We will also see how to convert between different time units and how to jump between points in time.
Then, we will have a look at the optional
, variant
, and any
types (which all came with C++14 and C++17) as well as some tuple
tricks in another five recipes.
Since C++11, we also got sophisticated smart pointer types, namely unique_ptr
, shared_ptr
, and weak_ptr
, which are an enormously effective help regarding memory management, which is why we will have a dedicated look at them in five recipes.
Finally, we will have a panoramic view of the library parts of the STL that are about generating random numbers. Apart from...