目錄
一、語言特性之演進、環境與資源
1、你應具備的基礎:c++語法,語意
2、我們的目標:較全面地認識c++2.0新特性,並從例項中獲得驗證
3、c++歷史:c++標準演化
4、標頭檔案
5、了解編譯器對c++2.0的支援
6、c++資源
7、c++2.0課程目錄
8、c++2.0關鍵字
c++2.0新特性包括語言和標準庫兩個層面,標準庫以標頭檔案(header files)形式呈現。c++標準庫的標頭檔案的使用不帶.h;新式c語言的標頭檔案的也不帶.h;舊式c語言標準庫的仍能使用。
(1)visual studio,gcc,clang,intel等編譯器支援c++11特性:
(2)dev-c++5.11,mingw with gcc 4.9.2 對c++ 11的支援
(3)確認對c++11的支援:macro _cplusplus(巨集)
示例**:
#includeusing namespace std;
int main()
qt執行結果:
c++ 標準特定版本的支援,/zc:__cplusplus 編譯器選項啟用 __cplusplus 預處理器巨集以針對最新的 c++ 語言標準支援報告更新的值。 預設情況下,visual studio 始終為 __cplusplus 預處理器巨集返回值「199711l」,__cplusplus 預處理器巨集通常用於報告。 因為很多現有**需要此巨集的值與「199711l」匹配,所以編譯器不會更改此巨集的值,除非通過使用 /zc:__cplusplus 編譯器選項進行顯式選擇。 從 visual studio 2017 版本 15.7 開始便已提供 /zc:__cplusplus 選項,該選項在預設情況下處於禁用狀態。 在早期版本的 visual studio 中,在預設情況下或者在指定了 /zc:__cplusplus- 的情況下,visual studio 針對 __cplusplus 預處理器巨集返回值「199711l」。 /permissive- 選項不會啟用 /zc:__cplusplus。
在啟用了 /zc:__cplusplus 選項的情況下,__cplusplus 報告的值取決於 /std 版本切換設定。 下表列出了該巨集的可能值:
/zc:__cplusplus 開關
/std:c++ 開關
__cplusplus 值
zc:__cplusplus
/std:c++14(預設)
201402l
zc:__cplusplus
/std:c++17
201703l
zc:__cplusplus
/std:c++latest
201704l
zc:__cplusplus-(已禁用)
任意值199711l
未指定任意值
199711l
編譯器不支援 c++98、c++03 或 c++11 的標準切換。
若要更精細地檢測對編譯器工具集的更改,請使用 _msc_ver 預定義巨集。 此內建巨集的值會隨 visual studio 2017 和更高版本中的每個工具集更新而增加。 _msvc_lang 預定義巨集向標準版本報告 /zc:__cplusplus 是啟用還是禁用狀態。 如果啟用 /zc:__cplusplus,則__cplusplus == _msvc_lang
。
在 visual studio 中設定此編譯器選項:
開啟專案的「屬性頁」 對話方塊。 有關詳細資訊,請參閱在 visual studio 中設定 c++ 編譯器和生成屬性。
選擇「配置屬性」 > 「c/c++」 > 「命令列」屬性頁。
將 /zc:__cplusplus 或 /zc:__cplusplus- 新增到「其他選項:」窗格。
未開啟前:
開啟後:
(2)常用網頁:
(3)書籍:
語言部分:
標準庫部分:
演算法競賽入門 (一)語言篇 順序與分支結構
1.1 算術表示式 include include intmain 結果 5 6 1 1 3 2指3處以2所得商值的整數部分 輸出3 2的值,並保留小數點後一位 整數用 d 輸出,浮點數用 f輸出 整數 整數 整數 浮點數 浮點數 浮點數 include include intmain 結果 1 0...
逆向分析Lua語言特性的設計與實現(一) 閉包
一 lua閉包 若將乙個函式寫在另外乙個函式內部,那麼這個位於內部的函式便可以訪問外部函式中的區域性變數,這個特性稱之為closure,中文翻譯為 閉包 二 實踐分析閉包的實現 一 例項1 lua指令逆向分析 function newcounter local i 0 return function...
git的學習筆記一之安裝與環境配置
2.git環境配置 在githud註冊乙個賬號,右擊桌面開啟git bash here 1 git config global user.name 2 git config global user.email xx.com 以上命令執行結束後,可用 git config global list 命令...