Sahni Chapter 8. Stacks
Sartaj Sahni
Data Structures, Algorithms, and Applications in C++
Chapter 8 Stacks
http://cplusplus.com/reference/stl/stack/
http://en.wikipedia.org/wiki/Stack_(data_structure)
http://www.sgi.com/tech/stl/stack.html
http://www.cppreference.com/wiki/stl/stack/start
stack = a linear list with a last-in-first-out (LIFO) structure
recursion stack
return address = location of the program instruction to execute once the invoked method completes
http://en.wikipedia.org/wiki/Abstract_data_type
An abstract data type (ADT) is a specification of a set of data and the set of operations that can be performed on the data. Such a data type is abstract in the sense that it is independent of various concrete implementations.
In software engineering, an abstract type is a type in a nominative type system which is declared by the programmer, and which has the property that it contains members which are also members of some declared subtype. In many object oriented programming languages, abstract types are known as abstract base classes, interfaces, traits, mixins, flavors, or roles.
http://cplusplus.com/reference/std/exception/exception/