Some data types will be as much a part of your daily vocabulary as basic types such as int or double. You’ll use them everywhere, all the time: in your function signatures, in your algorithms, as member variables of your classes (see later), etc. We call such types vocabulary types . In modern C++, they are one of the cornerstones of understandable, maintainable, and safe code.
In fact, you already know some vocabulary types: std::unique_ptr<>, std::shared_ptr<>, std::string, std::array<>, std::vector<>, etc. So far, ...