たとえば、C99標準のCプログラミング言語は16進浮動小数点リテラルをサポートしていますが、C++03標準のC++はサポートしていません。
私はそれをテストしました。GCCはC++03モード(-std = c ++ 03)で16進浮動リテラルを認識しましたが、C ++標準によれば、認識すべきではありません。私は知っています、それは悲劇ではありません、私はこの質問に興味があります。
GCCコンパイラは標準に準拠していますか?標準に「完全に」準拠するC/C ++コンパイラをお勧めしますか?
GCCに標準を与えると、マニュアルによると、
コンパイラは、その標準に従うすべてのプログラムと、それに矛盾しない GNU 拡張機能を使用するプログラムをすべて受け入れます。
標準に厳密に準拠したい場合は、-pedantic
16 進数の FP リテラルについて警告する を追加します。
独自の libcomo 標準ライブラリを使用する Comeau コンパイラは、C++03 を可能な限り完全にサポートしています。
C++11 の場合、libc++ を使用した Clang と libstdc++ を使用した GCC はどちらもかなり優れていますが、完全ではありません (まだ)