我目前正在使用什么C ++规范?

欢乐:

最近,我在编写的C ++代码中遇到编译错误,因此有人问我是否正在使用C ++ 11编译器,但老实说,我不知道如何检查我的编译器版本!所以任何想法如何弄清楚这个??

顺便说一句,我正在使用代码块作为IDE,其中包括MinGW的GCC编译器和GDB调试器。如果我在Linux下编译我的c ++代码,还应该运行什么命令来知道我的编译器版本?

詹姆斯·坎泽:

这可能是一个棘手的问题。C ++ 11是指标准的一个版本,而不是编译器的一个版本。通常,至少对于最新版本,不同的编译器以及任何给定编译器的不同版本都会实现标准版本的混合。或多或少,因为C ++ 11的任何实现都是相当新的,因此可能是相当多的错误。

大多数编译器都有输出版本的选项。许多人会以详细模式系统地输出它。对于g ++,请尝试g++ --versiong ++的最新版本确实支持C ++ 11,但是您必须使用-std=c++0x(而不是通常的-std=c++03-std=c++98激活它顾名思义(c++0x,而不是c++11)表示,它不是真正的C ++ 11;它是某些主要功能的(大多数?)实现,是基于各种工作文件的初步版本,而不是最终标准。

(FWIW:我认为没有任何编译器可以完全实现C ++ 11的全部功能,但是我很乐意被证明是错误的。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章