解決Qt中GCC支援C 11標準問題

2021-08-20 14:30:52 字數 956 閱讀 7880

想必看到這篇部落格的人都是奔著問題來的,所以這裡就不做關於什麼是gcc、c++11的介紹了。

c++0x是c++最新標準標準化過程中的曾用名,在這一系列文章中我們將介紹最新標準新增的一系列新的語言特性。在2023年9月份,c++0x正式由官方發布並命名c++11,現在很多編譯器已經支援了部分c++11特性。

c++11包括大量的新特性:主要特徵像lambda表示式和移動語義,實用的型別推導關鍵字auto,更簡單的容器遍歷方法,和大量使模板更容易使用的改進。這一系列教程將包含所以以上特性。

(1)第一種方法

直接在源程式的第一行新增如下**:

#pragma gcc diagnostic error "-std=c++11"
可以通過乙個小示例**測試test.cpp,例如:

#pragma gcc diagnostic error "-std=c++11"  

#include using namespace std;

int main(int argc,char **argv)

{ cout<<"hello world!"《然後在終端只需輸入

g++ test.cpp -o ts //編譯

./ts //執行

(2)第二種方法,取別名

alias g++='g++ -std=c++11'  //取別名

g++ test.cpp -o ts //編譯

./ts //執行

以上兩個方法都是在終端進行輸入命令進行編譯的,但在類似qt這樣的編輯器中,如何才能使g++支援c++11呢,這裡給出一行**,新增在qt的.pro檔案中即可

qmake_cxxflags += -std=c++0x (qt 4.7)

config +=c++11 (qt5)

縱橫C 11標準(目錄)

c 11標準正式通過,正式發布也指日可待,vs和gcc都已經為c 11標準提前做好了部分準備 有些標準仍舊為支援 希望新的標準能夠得到完美的支援 比如c 03標準中的分離模板定義到現在大部分編譯器也沒有很好的支援,export關鍵字也就廢了 個人認為c 11標準中基本原則中的核心是 我根據自己的理解...

C 11新標準總結

c 11新標準出現已久,在此主要對它做乙個總結 c 11新增型別long long和unsigned long long,以支援64位的整型,char16 t,char32 t,以支援16位和32位的字元表示。用大括號括起來的列表 初始化列表 的適用範圍,使其可用於所有內建型別和使用者定義的型別。使...

縱橫C 11標準(目錄)

c 11標準正式通過,正式發布也指日可待,vs和gcc都已經為c 11標準提前做好了部分準備 有些標準仍舊為支援 希望新的標準能夠得到完美的支援 比如c 03標準中的分離模板定義到現在大部分編譯器也沒有很好的支援,export關鍵字也就廢了 個人認為c 11標準中基本原則中的核心是 我根據自己的理解...