An item specified in terms of operations is called abstract data type.
A class is a piece of software that indicates data specification and functions operating on these data and possibly on the data belonging to class instances.
Pointers are variables leading to variables.
Dangling pointers (or wild pointers) in computer programming are pointers that do not point to a valid object of the appropriate type.
T o avoid the dangling pointers problem, always assign NULL to the pointer after deleting it (p = 0 or p = NULL). This is called NULL pointer (not p refers to NULL).
Always defines an explicit copy constructor when you’ve pointers in your class.
STL was developed by Alexander Stepanov and Meng Lee.
STL contains 3 types of generic entities: containers, iterators and algorithms.
A container is a data structure that holds some objects which are usually of the same type.
STL Containers: deque, list, map, multimap, set, multiset, stack, queue, priority_queue and vector.
An iterator is an object used to reference an element stored in a container (generalization of pointer).
No iterators are supported in stack, queue and priority_queue containers.
Check functional header to be used with STL algorithms.
reinterpret_cast is used to cast pointer objects where static_cast is used to cast usual objects. Check this article.