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
const
, constexpr
, constinit
, consteval
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