Notes
Shorter reference notes, mostly on C++.
-
C++: ODR and Linkage
Declarations versus definitions, what ODR actually requires, and the three kinds of linkage.
-
C++: Initialisation Methods
Six ways to give a variable a value, and what each one does per type: indeterminate scalars, the initializer_list hijack, narrowing, aggregates, and member init order.
-
C++: STL internals
Twenty-two standard library types drawn from the inside: what sits inline, what's on the heap, and what invalidates your iterators.
-
C++: Value categories
Which expressions are lvalues, xvalues and prvalues, what binds to what, why a named rvalue reference is an lvalue, and why std::move doesn't move.