Ced*_* H. 9 c++ standards gcc g++
我对此有点疑惑:Gcc 4.5在线手册---标准部分.
他们解释了这个
最初的ISO C++标准作为ISO标准(ISO/IEC 14882:1998)公布,并由2003年出版的技术勘误表(ISO/IEC 14882:2003)进行了修订.这些标准分别称为C++ 98和C++ 03.GCC实现了大部分C++ 98(导出是一个值得注意的例外)和C++ 03中的大多数更改.
但他们并不知道gcc是否支持'裸'98 C++或仅支持更正的C++ 03.在"C语言"部分,解释更清楚:
1999年,2004年和2007年发布的三份技术勘误更正了1999年ISO C标准中的错误.GCC不支持未修正的版本.
所以我的问题是:是否也是g ++的情况(不支持未经修正的标准)?
唯一的4个选项以选择克++标准然后-std=c++98,-std=gnu++98,-std=c++0x,和-std=gnu++0x.那是对的吗 ?
最后一个问题:那么-ansi选项是什么?它只用于C模式吗?
编辑:
-ansi -std = c89(对于C)或-std = c ++ 98的同义词
gcc不支持未经修正的标准,它的目标是(虽然没有达到100%)C++ 03一致性.从技术上讲,目前只有一种C++标准,包括TC1在内的版本就是它.正如它所说"支持C++ 03中的大部分更改.要选择此标准......请使用其中一个选项-ansi或-std=c++98".
没有支持或选择来选择过时的未经修正的1998版标准.