Templates
Templates get a whole section of their own for two reasons:
As described in the ARM, templates allow you to write generic classes and functions parameterised by types:

	template<class T>
class List
{
// ...
};
List<string> names;
template<class T>
void print_list(const List<T>& list);

The following is a fairly complete list of the changes made by the committee to templates as they were described in the ARM: