Constructors, destructors, and copy and move operations for a type are not logically separate. We must define them as a matched set or suffer logical or performance problems. If a class X has a destructor that performs a nontrivial task, such as free-store deallocation or lock release, the class is likely to need the full complement of functions:
Vector with upper-case 'V' => our own vector.
By notation here vector with lower-case 'v' is the std::vector (and its not that author is referring here).
Share this highlighthttp://www.safaribooksonline.com/a/a-tour-of/14238038/