- 论坛徽章:
- 0
|
回复 #3 OwnWaterloo 的帖子
GCC supports the ISO C++ standard (1998) and contains experimental support for the upcoming ISO C++ standard (200x).
The original ISO C++ standard was published as the ISO standard (ISO/IEC 14882:1998) and amended by a Technical Corrigenda published in 2003 (ISO/IEC 14882:2003). These standards are referred to as C++98 and C++03, respectively. GCC implements the majority of C++98 (export is a notable exception) and most of the changes in C++03. To select this standard in GCC, use one of the options -ansi or -std=c++98; to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings).
The ISO C++ committee is working on a new ISO C++ standard, dubbed C++0x, that is intended to be published by 2009. C++0x contains several changes to the C++ language, some of which have been implemented in an experimental C++0x mode in GCC. The C++0x mode in GCC tracks the draft working paper for the C++0x standard; the latest working paper is available on the ISO C++ committee's web site at http://www.open-std.org/jtc1/sc22/wg21/. For information regarding the C++0x features available in the experimental C++0x mode, see http://gcc.gnu.org/gcc-4.3/cxx0x_status.html. To select this standard in GCC, use the option -std=c++0x; to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings).
By default, GCC provides some extensions to the C++ language; See Options Controlling C++ Dialect. Use of the -std option listed above will disable these extensions. You may also select an extended version of the C++ language explicitly with -std=gnu++98 (for C++98 with GNU extensions) or -std=gnu++0x (for C++0x with GNU extensions). The default, if no C++ language dialect options are given, is -std=gnu++98. |
|