日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象

發(fā)布時(shí)間:2025/3/21 c/c++ 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 定義

標(biāo)準(zhǔn)庫(kù)定義的函數(shù)對(duì)象(Library-Defined Function Objects):標(biāo)準(zhǔn)庫(kù)在頭文件functional中定義了一組表示算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符的類(lèi),每個(gè)類(lèi)分別定義了一個(gè)執(zhí)行命名操作的調(diào)用運(yùn)算符。
這些類(lèi)都被定義為模板的形式,可以為其指定具體的應(yīng)用類(lèi)型(即調(diào)用運(yùn)算符的形參類(lèi)型)。
eg.

vector<string> svec = { "a31", "b1" }; sort(svec.begin(), svec.end(), greater<string>()); for_each(svec.begin(), svec.end(), [](const string& s){std::cout << s << endl; });plus<int> intAdd; //可執(zhí)行int加法的函數(shù)對(duì) negate<int> intNegate; //可對(duì)int值取反的函數(shù)對(duì)象 int sum = intAdd(10, 20); //sum=30 std::cout << sum << endl; sum = intAdd(10, intNegate(10)); //sum=0 std::cout << sum << endl;

輸出結(jié)果為

b1 a31 30 0

2. 標(biāo)準(zhǔn)庫(kù)函數(shù)對(duì)象列表:

算術(shù)關(guān)系邏輯
plusequal_tological_and
minusnot_equal_tological_or
multipliesgreaterlogical_not
dividesgreater_equal
modulusless
negateless_equal

3. 可以比較指針

eg.

//lambda表達(dá)式是比較兩個(gè)字符串大小string a1 = "b1";string b1 = "a1";vector<string*> nameTable = {&a1 , &b1}; // vector of pointerssort(nameTable.begin(), nameTable.end(), [](string* a, string* b) { return *a < *b; });for_each(nameTable.begin(), nameTable.end(), [](string* s){std::cout << *s << endl; }); //標(biāo)準(zhǔn)庫(kù)比較兩個(gè)指針的內(nèi)存地址, vector<string*> nameTable2 = { &a1 , &b1 }; // vector of pointers sort(nameTable2.begin(), nameTable2.end(), less<string*>());for_each(nameTable2.begin(), nameTable2.end(), [](string* s){std::cout << *s << endl; });

輸出:

a1 b1 b1 a1
【引用】

[1] 代碼functionObject.h

總結(jié)

以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。