C++11初探:前言

這幾天忽然心血來潮,看了看C++11的「新」特性。雖然C++11早就出了,可是一直沒有關注。我已經好久沒用C++了,Python(以及Java,Ruby)幾乎包辦了我平常全部的編程任務。可是沒想到一發不可收,C++這樣一門歷史悠久的語言在今天還能作出如此革新,實在可敬可佩。新加入的特性徹底顛覆了我對C++的認識,就像是見到了一門熟悉的新語言,感受很奇妙。網上大都批評C++更加複雜了。但加入的特性在其餘語言基本上能找到影子,若是使用過Python、Ruby這樣的腳本語言,這些新特性的引入是很天然地一件事。抱怨C++更加複雜的同窗,我很懷疑有沒有真正嚴肅地使用過C++,親自試一試這些特性。大部分的功能,只須要半天就能應用於實際開發,對學習成本沒大的影響。我感受如今對C++有些過於妖魔化了,C++過於複雜的印象已經創建,不論語言設計者作什麼努力,噴子總能找到噴的理由,爲黑而黑。。。html

此次標準的更新,總的感受是,c++

  • 向腳本語言靠攏。用元編程實現類型推導、匿名函數,靜態模擬動態。語法糖很甜~
  • 標準庫加強。正則表達式、哈希表、線程庫的加入,補足缺失的功能,更像一門現代語言。

編譯器選擇

C++實在是對編譯器實現的挑戰,如今徹底支持C++11的編譯器好像只有gcc 4.8.1和clang 3.3,都是2013年剛發佈的。作下廣告,LLVM/Clang近幾年步調很快,與XCode結合實乃神器,我已經用它取代gcc做爲主力編譯器了,你們能夠試一試。Visual Studio系列暫時還只能洗洗睡~ 編譯器支持狀況請看:正則表達式

C++0xCompilerSupportapache

注意編譯時要加上 -std=c++11 開啓C++11支持。編程

參考書籍

C++11出來這麼久,不少經典書也更新了。閉包

C++ Programming Language, 4th Edition C++程序設計語言第4版,C++之父寫的,老手值得一看,新人仍是先等等。函數

C++ Primer, 5th Edition 入門好書。學習

C++ Standard Library, 2nd Edition C++標準庫:自學教程與參考手冊第2版,大磚頭終於更新了,很感動。適合隨手翻,常常會發現一些標準庫裏平時不注意又有用的東西。線程

目錄

C++11初探:類型推導,auto和decltype設計

C++11初探:lambda表達式和閉包

相關文章
相關標籤/搜索