Building blocks of the C++ language
- Functions — reusable procedures implementing a specific task
- Classes — user-defined types bundling data and behavior
- Objects — instances of classes that exist at runtime
- Namespaces — logical grouping of identifiers to avoid name collisions
- Templates — generic programming mechanism for generating code for many types
- Modules (C++20+) — compiled units of code replacing header-centric dependency model
- Headers & source files — physical organization of code