我正在使用Visual Studio 2015进行编程任务,我想知道编译器使用的C ++标准版本。
谷歌搜索没有任何结果。
我测试了这些条件,但它们无法正常工作:
if (__cplusplus == 201103L) std::cout << "C++11\n";
else if (__cplusplus == 201402L) std::cout << "C+14\n";
else if (__cplusplus == 19971L) std::cout << "C++98\n";
else std::cout << "pre-standard C++\n";
输出为pre-standard
。但是,我不认为我的C ++标准是pre-standard
因为我在指定类型时可以使用auto
,这只能在C ++ 11中使用。
那么,有没有简单的方法可以在Visual Studio中获得C ++标准?
答案 0 :(得分:2)
else if (__cplusplus == 19971L) std::cout << "C++98\n";
中有拼写错误。
它应该是else if (__cplusplus == 199711L) std::cout << "C++98\n";
。
这仍然是VS2015中的版本,可能是因为它仍然不能完全支持该标准。