运行代码如下:
c++
#include <iostream>
using namespace std;
int main() {
cout << "__cplusplus: " << __cplusplus << endl;
return 0;
}
199711对应的是C++98或C++03标准。
在C++编程中,__cplusplus宏被用来检查当前的C++标准版本。编译器在编译C++代码时,会根据所遵循的C++标准版本来定义这个宏的值。具体来说:
- 199711L:表示编译器遵循的是C++98或C++03标准。
- 201103L:表示编译器遵循的是C++11标准。
- 201402L:表示编译器遵循的是C++14标准。
- 201703L:表示编译器遵循的是C++17标准。
因此,当你在代码中看到__cplusplus宏的值为199711L时,就可以知道当前编译器使用的是C++98或C++03标准。