Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Xác định phiên bản chuẩn C++ được compiler hỗ trợ


Sử dụng macro __cplusplus để kiểm tra phiên bản chuẩn C++ mà compiler đang tuân thủ.

Bảng giá trị __cplusplus

ChuẩnGiá trị __cplusplus
C++98199711L
C++11201103L
C++14201402L
C++17201703L
C++20202002L
C++23202302L

Ví dụ mã nguồn

#include <iostream>
int main() {
    if (__cplusplus >= 202002L) std::cout << "C++20 or later\n";
    else if (__cplusplus == 201703L) std::cout << "C++17\n";
    else if (__cplusplus == 201402L) std::cout << "C++14\n";
    else if (__cplusplus == 201103L) std::cout << "C++11\n";
    else if (__cplusplus == 199711L) std::cout << "C++98\n";
    else std::cout << "Pre-standard C++\n";
    std::cout << "Gia tri __cplusplus = " << __cplusplus << "\n";
    return 0;
}

Đầu ra mẫu (compiler C++17)

C++17
Gia tri __cplusplus = 201703