diff --git a/languages/cpp/reference/README.md b/languages/cpp/reference/README.md index 66a4403e6d..60db74e607 100644 --- a/languages/cpp/reference/README.md +++ b/languages/cpp/reference/README.md @@ -58,7 +58,7 @@ C++ is a very flexible language, so lots of functional concepts apply to it: - C-style Input/Output - Input/Output stream-based library - Templates -- [Metaprogramming (TMP)](../../../reference/concepts/metaprogramming.md) +- [Metaprogramming](../../../reference/concepts/metaprogramming.md) - Exception handling - Implicit/explicit/contextual conversion - [Destructuring (structured-bindings)](../../../reference/concepts/destructuring_assignment.md) @@ -67,6 +67,7 @@ C++ is a very flexible language, so lots of functional concepts apply to it: - Value categories - Attributes - Slicing +- String literals - Reflection (``) - Undefined Behavior - Preprocessor @@ -93,12 +94,16 @@ C++ is a very flexible language, so lots of functional concepts apply to it: - [Queues][queue] - [Stacks][stack] - [Tuples][tuple] -- Unions (`std::variant`) +- Sum types (`std::variant`) +- Product types (`std::pair`, `std::tuple`) - [Ranges][range] (Defer to C++2a) - Bitset - Dynamic bitset -Let pointers aside as long as we can avoid them, using references instead. +### Advanced topics + +- Pointers +- Unions (`union`) ## Concept interpretation