在看到c++11 的一些特性之後,發現列印乙個集合內的元素的方法除了我們之前寫的for迴圈,還能夠有更簡單的寫法,並在其中應用了一些特性。
// 列印1:
for (auto &e : v)
// 列印2:使用copy演算法
std::copy(v.begin(), v.end(), std::ostream_iterator(std::cout, "\n"));
// 列印3:使用lambdas表示式
std::for_each(v.begin(), v.end(), (int n) );
// 列印4:使用非成員的begin()和end()來實現
std::for_each(std::begin(v), std::end(v), (int n) );
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 從變數或表示...