C++ >= 11
- Introduction
- The Rule Of Three/Five/Zero
- Delegating Constructor
- Strongly Typed
enum
- New OO Features:
= delete, = default, override, final
- Attributes
- Brace Initialization (Uniform Initialization)
- Local Variables In Control Flow Statements
- Duck Typing (Err,
auto) Without A Duck
- Tuple Unpacking (Err, Structured Binding)
- Range Based
for Loops
- Miscellaneous
- Lambda
- The
constexpr Engine
std::bind, std::function
- Smart Pointers:
std::unique_ptr, std::shared_ptr (And std::weak_ptr)
- Move Semantics, Rvalue References
- Perfect Forwarding
- Multithreading, C++ Memory Model
- std::array
- std::any, std::variant, std::optional
std::chrono
std::filesystem
- Formatting Library (
std::format(), std::print())
std::span
- Explicit Object Member Functions (A.k.a Deducing
this)
- The Spaceship Operator
<=> (And Comparison In General)
- Concepts
- Ranges And Views
- Coroutines
- Modules
- Drafts
- Exercises