Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

วิธีตรวจสอบเวอร์ชันมาตรฐาน C++ ที่คอมไพเลอร์ใช้


บางครั้งเราต้องการทราบว่ามาตรฐาน C++ ปัจจุบันเป็นอะไร เพื่อรับข้อมูลประเภทนี้ เราสามารถใช้ Macro ที่ชื่อว่า __cplusplus สำหรับมาตรฐานต่างๆ ค่าของ Macro นี้จะเป็นดังนี้

มาตรฐาน (Standard)ค่า __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