Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

컴파일러에서 사용하는 C++ 표준의 버전을 확인하는 방법은 무엇입니까?

<시간/>

때때로 우리는 현재 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