C++11 is a new C++ programming language standard. Before its ratification, C++11 was called C++0x.In addition to the existing C++11 features, new C++11 features are supported in XL C/C++ V12.1.
You can use the -qlanglvl=extended0x option to enable most of the C++ features and all the currently-supported C++11 features. For details, see -qlanglvl.
The explicit conversion operators feature supports the explicit function specifier being applied to the definition of a user-defined conversion function. You can use this feature to inhibit implicit conversions from being applied where they might be unintended, and thus program more robust classes with fewer ambiguity errors.
You can use the -qlanglvl=explicitconversionoperators option to enable this feature.
For more information, see Explicit Conversion Operators (C++11).
The generalized constant expressions feature extends the set of expressions permitted within constant expressions. A constant expression is one that can be evaluated at compile time.
You can use the -qlanglvl=constexpr option to enable this feature.
You can use the -qlanglvl=referencecollapsing option to enable this feature.
For more information, see Reference collapsing (C++11).
In the C++ language, two consecutive closing angle brackets (>) must be separated with a white space, because they are otherwise parsed as the bitwise right-shift operator (>>). The right angle bracket feature removes the white space requirement for consecutive right angle brackets, thus making programming more convenient.
You can use the -qlanglvl=rightanglebracket option to enable this feature.
For more information, see "Class templates (C++ only)".
With the rvalue references feature, you can overload functions based on the value categories of arguments and similarly have lvalueness detected by template argument deduction. You can also have an rvalue bound to an rvalue reference and modify the rvalue through the reference. This enables a programming technique with which you can reuse the resources of expiring objects and therefore improve the performance of your libraries, especially if you use generic code with class types, for example, template data structures. Additionally, the value category can be considered when writing a forwarding function.
You can use the -qlanglvl=rvaluereferences option to enable this feature.
For more information, see Using rvalue references (C++11).
You can use the -qlanglvl=scopedenum option to enable this feature.
For more information, see "Enumeration".
You can use the -qlanglvl=autotypededuction option to enable this feature.
For more information, see Trailing return type (C++11).