C/C++ Programmer's Guide (G06.27+, H06.03+)

Table Of Contents
Features and Keywords of Version 2 Native C++
HP C/C++ Programmer’s Guide for NonStop Systems429301-010
E-3
Features Supported in VERSION2
mutable is accepted on nonstatic data member declarations.
[7.1.1 (9) Storage class specifiers]
Namespaces are implemented, including using declarations and directives. Access
declarations are broadened to match the corresponding using declarations.
[7.3 Namespaces]
Explicit instantiation of templates is implemented.
[14.7.2 Explicit instantiation]
The typename keyword is recognized.
[7.1.5.3 Elaborated type specifiers]
explicit is accepted to declare nonconverting constructors.
[7.1.2 Function specifiers; 12.3.1 Conversion by constructor]
The scope of a variable declared in the for-init-statement of a for loop is the
scope of the loop (not the surrounding scope).
[6.5.3 (4) The for statement]
The new specialization syntax (using "template <>") is implemented.
[14.7 Template specialization]
The distinction between trivial and nontrivial constructors has been implemented,
as has the distinction between PODs (plain ol' data) and non-PODs with trivial
constructors.
[12.1 (4, 5) Constructors]
The linkage specification is treated as part of the function type (affecting function
overloading and implicit conversions).
[7.5 Linkage specifiers]
extern inline functions are supported, and the default linkage for inline functions
is external.
[7.1.2 (4) Function specifiers]
A typedef name can be used in an explicit destructor call.
[7.1.3 The typedef specifier, 9.1 Class names; 12.4 Destructors]
Pointers to arrays with unknown bounds as parameter types are diagnosed as
errors.
[8.3.5 Functions]
Template friend declarations and definitions are permitted in class definitions and
class template definitions.
[14.5.3 Friends]
Member templates are implemented.
[14.5.2 Member templates]
Cv-qualifiers are retained on rvalues (in particular, on function return values).
[3.10 Lvalues and rvalues]