I am planning to take the C++ Certified Professional Programmer Certification shortly. For that reason, I decided to refresh my knowledge of the language, especially what was introduced with C++17 and C++20, and to review the structures and keywords that I do not use frequently.
Here is a list of mid/advanced C++ features, in no particular order.
- lvalue and rvalue
- iterators
- Range based for loop (i.e., for(auto a:values))
- Structured binding declaration
- https://en.cppreference.com/w/cpp/language/structured_binding
- https://www.youtube.com/watch?v=eUsTO5BO3WI
- Keep in mind! There is a difference between = and {}
- volatile keyword
- attribute specifiers [[I am an attribute, I am another attribute]]
- Stream (std::fstream) state flags