Template

Applies to: cpp

A template lets you write code parameterized by type, so one definition works for many types. std::vector<T> is a template; the compiler generates a concrete version for each T you use.

template <typename T>
T max_of(T a, T b) { return a > b ? a : b; }
max_of(3, 5);        // int version
max_of(2.0, 1.5);    // double version

See also: std-vector