我使用的是哪个版本的C++?

Raj*_*ian 11 c++ compiler-construction version visual-studio-2008 c++11

目前我在Windows环境中使用C++.我正在使用Visual Studio 2008 Service Pack 1.

除非直到我了解,否则我从未想过C++版本C++11.似乎有不同的版本,如ANSI标准,C++ 98标准等.

  1. 我如何知道我使用的是哪个版本的C++?

  2. 如果我没有Visual Studio,我知道我可以使用其他编译器(如TC)来编译我的C++代码.在这种情况下,我如何才能知道编译器正在使用哪个版本的C++.

  3. 是否在连续的C++版本中对编程概念或仅在语言设计中进行了更改?

Nic*_*las 9

它不像版本检查那么简单.

支持某些C++ 11的每个编译器都支持C++ 11的不同子集.由于显而易见的原因,没有编译器宣传完全符合C++ 11.

C++ 11规范要求__cplusplus定义具有该值的预定义宏201103L.但是,您不能单独依赖此宏.不是真正的代码.

您必须依赖特定于编译器的宏来判断编译器和您正在使用的编译器的版本.或者,您可以使用Boost.Config来帮助您检测是否支持特定功能.