本文我們一起來看下c++11在vs11 (visual studio 2012)、g++ 4.7和clang 3.1三大編譯器支援情況。
注:這裡我並沒有詳細描述非語言併發性變化,因為三大編譯器對非語言併發性的支援情況依然有限。
clang在大多數c++11功能實現上處於領先地位,而visual studio則稍顯落後。當然,這三個編譯器都有著不錯的子集適用於跨平台開發。
你可以使用型別推斷、移動語義、右值引用、nullptr,static_assert,range-based參考對比,同時你還可以使用最終和重寫關鍵字來進行友好的控制。此外,你還可以通過enums(例舉)強型別和提前宣告,這裡有幾個改進後的模板包括extern keyword。
然而,visual studio並不支援較多請求的可變引數模板。另一方面,可變引數巨集在這三款編譯器中只支援c99標準。繼承建構函式和廣義屬性這些特性並不是在任何地方都能獲得支援。本地執行緒儲存是是支援情況最好的一部分(通過非關鍵字標準)。
總的來說,我認為c++11的發展還是很不錯的,至少c++11的子集適用於跨平台專案開發。
C 11各編譯器支援情況對比
c 11標準在去年8月份獲得一致通過,這是自1998年後c 語言第一次大修訂,對c 語言進行了改進和擴充。迄今為止已整整一年啦!想知道c 11在這一年裡的發展情況如何嗎?本文我們一起來看下c 11在vs11 visual studio 2012 g 4.7和clang 3.1三大編譯器支援情況。注 ...
g 編譯支援c 11的方法
網上找了一下有兩種方式 pragma gcc diagnostic error std c 11 g std c 11 main.cpp o main.exe 該方法可以使用 卻別名 的方式進行簡化 linux中使用 alias 指令取別名 alias g g std c 11 windows中使用...
C 編譯器自動生成拷貝建構函式的情況
編譯器在下面幾種情況下會給程式設計師沒有提供拷貝建構函式的類自動生成拷貝建構函式 1.類中有虛函式 當這個類中有虛函式的時候,意味著這個類的物件中一定包含了指向其虛函式表的指標 試想,如果講該類的派生類的物件作為該類的初始化物件,即 b繼承a class a private int m a publ...