#include #include #include void test_auto()
//c++11之前需要寫明變數的型別
list::iterator it = ::find(c.begin(), c.end(), "12");
//c++11之後可以使用auto來定義,ide自動推斷其型別
auto it2 = ::find(c.begin(), c.end(), "12");
//錯誤:auto只能用來定義,不能用來宣告
//auto it3; //錯誤方式
}
#include #include #include void test_for_range()
//c++11之前通過迭代器進行遍歷
for (auto it1 = c.begin(); it1 != c.end(); it1++)
cout << endl;
//c++11之後直接通過for range進行遍歷,**精簡很多
//by value
for (auto it2: c)
cout << endl;
//by reference
for (auto& it3 : c)
cout << endl;
}
C 11新特性學習
lambda表示式用於建立匿名的函式物件,語法為 函式可訪問的的外部變數 函式引數 返回值型別 如 int a 1,b 2 int c b int x int b 表示函式中可以訪問外部變數b,而且引數b是按值傳遞,b 表示引數b是按引用傳遞,表示可以訪問所有外部變數,並且是用按值傳遞方式,類似,也...
C 11 新特性試用
在c 11之前,auto關鍵字用來指定儲存期。在新標準中,它的功能變為型別推斷。auto現在成了乙個型別的佔位符,通知編譯器去根據初始化 推斷所宣告變數的真實型別。各種作用域內宣告變數都可以用到它。例如,名空間中,程式塊中,或是for迴圈的初始化語句中。auto i 42 i is an int a...
C 11 新特性總結
vs2012以上版本支援 一.auto的使用 auto func less 自動表示函式指標 auto ite vector a.begin 自動表示stl的迭代器 auto p new foo 自動表示變數指標等變數 二.decltype int x 3 decltype x y x 從變數或表示...