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:
-
Built-in
bool type
-
Exceptions
-
Casts
-
Variable scoping in
for loops
-
Namespaces
-
The
explicit keyword
-
The
mutable keyword
-
The
typename keyword
-
Runtime Type Identification (RTTI)
-
Templates
-
Default template arguments
-
Standard library headers
-
Standard Template Library (STL)
|