c 11標準 泛型演算法

2021-07-11 23:00:39 字數 625 閱讀 9421

正在看c++ primer 5,學習的同時,記錄下學習體會。

(v表示容器)

實現在v中統計符合第三個引數條件的數量。有三種方法:

bool cmpstr(const string &s)

return s.size() >=5;

1: 接受乙個一元謂詞。

auto count = count_if(v.begin(),v.end(),cmpstr);

2:接受乙個lambda表示式。形如:[capture list] (parameter list) ->type ;//當函式體只有乙個return 語句,可以省略型別

auto count = count_if(v.being(), v.end(), [sz] (const string &s ) );

3:傳遞乙個bind()函式//bind(obj,_1,_2....) 接受乙個可呼叫物件,其他引數分別為該可呼叫物件的對應引數並返回乙個可呼叫物件

如 auto f = bind(a, b, c, _2 , _1);

呼叫f(x,y)即 bind(a, b, c, y, x);

auto count = count_if(v.being(), v.end(), bind(cmpstr,_1));

C11標準的泛型機制

下面我們就來看一下c11標準中的泛型表示式。c11中的泛型機制由關鍵字 generic引出,其語法形式為 generic assignment expression generic assoc list generic assoc list generic association generic a...

縱橫C 11標準(目錄)

c 11標準正式通過,正式發布也指日可待,vs和gcc都已經為c 11標準提前做好了部分準備 有些標準仍舊為支援 希望新的標準能夠得到完美的支援 比如c 03標準中的分離模板定義到現在大部分編譯器也沒有很好的支援,export關鍵字也就廢了 個人認為c 11標準中基本原則中的核心是 我根據自己的理解...

C 11新標準總結

c 11新標準出現已久,在此主要對它做乙個總結 c 11新增型別long long和unsigned long long,以支援64位的整型,char16 t,char32 t,以支援16位和32位的字元表示。用大括號括起來的列表 初始化列表 的適用範圍,使其可用於所有內建型別和使用者定義的型別。使...