Parameterized Types for C++
01 January 1989
Type parameterization is the ability to define a type in terms of another, unspecified, type. Versions of the parameterized type may then be created for several particular parameter types. A language supporting type parameterization allows specification of general container types such as list, vector, and associative array where the specific type of the elements is left as a parameter. Thus, a parameterized class specifies and unbounded set of related types; for example: list of int, list of name, list of shape, etc. Type parameterization is one way of making a language more extensible.