New container: forward_list, unordered_map unordered_set. The latter two
support implementing hash tables.
Rvalue reference and move have been discussed before.
If you provide a move constructor, then the default constructor, the copy
ctor, and the assignment operator are not provided by compiler, In that
case, you can sue the keyword default to explicitly declare the defaulted
version of these methods. Then, compiler will produce them automatically
again.
classFoo{ Foo(constFoo&)=default
delete keyword, on the other hand, can be sued to prevent the compiler from
using a particular methods. Below prevent an boject from being copied. In
the past, we place copy ctor in private, but use delete more easily
understood.
classFoo{ Foo(constFoo&)=delete
override and final. Use final in Base class, to stop sub class override. Use
override in sub class, make sure override functions has the same exact
function signature.