때때로 우리는 현재 C++ 표준이 무엇인지 알아야 합니다. 이러한 종류의 정보를 얻기 위해 __cplusplus라는 매크로를 사용할 수 있습니다. 다른 표준의 경우 이 값은 다음과 같습니다.
표준 | __cplusplus 출력 |
---|---|
C++ 이전 C++98 | 1 |
C++98 | 199711L |
C++98 + TR1 | 확인할 수 없습니다. C++98로 표시됩니다. |
C++11 | 201103L |
C++14 | 201402L |
C++17 | 201703L |
예시
#include<iostream> int main() { if (__cplusplus == 201703L) std::cout << "C++17" << endl; else if (__cplusplus == 201402L) std::cout << "C++14" << endl; else if (__cplusplus == 201103L) std::cout << "C++11" << endl; else if (__cplusplus == 199711L) std::cout << "C++98" << endl; else std::cout << "pre-standard C++" << endl; }
출력
C++98