如何確定編譯器使用的 C++ 標準版本?
有時我們需要知道當前 C++ 標準是什麼。要獲取此類資訊,我們可以使用名為 __cplusplus 的宏。對於不同的標準,此值將如下所示。
| 標準 | __cplusplus 輸出 |
|---|---|
| C++ pre 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP