Overview—Standard C++
The IAR C++ implementation fully complies with the ISO/IEC 14882:2014 C++ (“C++14”) or 14882:2017 C++ (“C++17”) standard, except for source code that depends on atomic or thread-related system headers, or the filesystem header. In IAR user documentation, the ISO/IEC 14882:2017 C++ standard is referred to as Standard C++.
The IAR C/C++ compiler accepts source code written in the C++17 standard or a superset thereof.
When using the DLIB C++14 library, those features of C++17 that require library support are not available.
When using the Libc++ C++17 library, all features of C++17 are available, unless otherwise noted.
For an overview of the differences between the various versions of the C++ standard, see the Wikipedia articles C++17, C++14, C++11, or C++ (for information about C++98).
Note
There is also a set of C++ Standard Template Library (STL) headers from an older version of the DLIB library (DLIB5). They have fewer features, but can in some cases result in significantly smaller code for map/set and vector. See the documentation in the file rl78/doc/HelpDLIB5.html.
Exceptions and RTTI
Exceptions and RTTI are not supported. Thus, the following are not allowed:
throwexpressionstry-catchstatementsException specifications on function definitions
The
typeidoperatorThe
dynamic_castoperator