C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 定義
謂詞(predicate)是一個可調(diào)用的表達式,返回結(jié)果是一個能用作條件的值。
- 用于一個對象或一個表達式,如果可以對其使用調(diào)用運算符,則稱為可調(diào)用的;
- 可調(diào)用的對象有:函數(shù)、函數(shù)指針、重載函數(shù)調(diào)用運算符的類和lambda表達式。
2. n元謂詞
幾元謂詞接受幾元參數(shù)。 謂詞分為:一元謂詞和二元謂詞。
bool isShorter(const string &s1, const string &s2) {return s1.size() < s2.size(); }eg. 使用謂詞的排序版本
vector<string> words = {"the", "quick", "red", "fox","red", "the","slow"}; cout << "Before: "; for(auto iter = words.begin();iter != words.end(); ++iter){cout << *iter << " "; } cout << endl; sort(words.begin(),words.end(), isShorter); //使用謂詞進行排序 cout << "After sort: "; for(const auto &s: words){cout << s << " "; } cout << endl;輸出結(jié)果為:
Before: the quick red fox red the slow After sort: the red fox red the slow quick3.應(yīng)用舉例.
標準庫會為謂詞算法重新起個名字以表示跟原來不一樣。
eg
總結(jié)
以上是生活随笔為你收集整理的C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以太坊知识教程------智能合约(3)
- 下一篇: C++ Primer 5th笔记(10)