16.2 Changeable C++
The C++ standard encompasses the language and the interface to the standard library, including the Standard Template Library (see section 16.2.13 Standard Template Library). The language has evolved somewhat since the ARM was published; mostly driven by the experience of early C++ users.
In this section, the newer features of C++ will be briefly explained. Alternatives to these features, where available, will be presented when compiler support is lacking. The alternatives may be used if you need to make your code work with older C++ compilers or to avoid these features until the compilers you are concerned with are mature. If you are releasing a free software package to the wider community, you may need to specify a minimum level of standards conformance for the end-user's C++ compiler, or use the unappealing alternative of using lowest-common denominator C++ features.
In covering these, we'll address the following language features: