Đôi khi chúng ta cần biết rằng, tiêu chuẩn C ++ hiện tại là gì. Để có được loại thông tin này, chúng ta có thể sử dụng macro có tên __cplusplus. Đối với các tiêu chuẩn khác nhau, giá trị của điều này sẽ như bên dưới.
Chuẩn | __ cplusplus đầu ra |
---|---|
C ++ trước C ++ 98 | 1 |
C ++ 98 | 199711L |
C ++ 98 + TR1 | Không thể kiểm tra điều này, điều này sẽ được đánh dấu là C ++ 98 |
C ++ 11 | 201103L |
C ++ 14 | 201402L |
C ++ 17 | 201703L |
Ví dụ
#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; }
Đầu ra
C++98