C++ is a wonderful language. A collection of curious details:
- A full-expression is not necessarily an expression at all.
- void*is not a pointer-to-object but it is an object pointer.
- Member pointers are not "pointers".
- Default initialisation may leave the object uninitialised.
- Rvalue reference variables are lvalues.
- std::movedoesn't move anything.
- Function arguments cannot be arrays, but you can declare arguments to be arrays in which case they are "adjusted" to not be arrays.
