这可能是一个棘手的问题。C
11是指标准的一个版本,而不是编译器的一个版本。通常,至少对于最新版本,不同的编译器以及任何给定编译器的不同版本都会实现标准版本的混合。或多或少,因为C
11的任何实现都是相当新的,因此可能相当多。
大多数编译器都有输出版本的选项。许多人会以详细模式系统地输出它。对于g ,请尝试g++ --version
。g 的最新版本确实支持C
11,但是您必须使用-std=c++0x
(而不是通常的-std=c++03
或-std=c++98
)激活它。顾名思义,(c++0x
而不是c++11
)表示,它 并不是 真正的C
11;它是某些主要功能的(大多数?)实现,是基于各种工作文件的初步版本,而不是最终标准。
(FWIW:我认为没有任何编译器可以完全实现C ++ 11的全部功能,但是我很乐意被证明是错误的。)



