NDK之C++的函数适配器

113 阅读1分钟

C++的函数适配器

C++算法包内置源码全面研究。

C++算法包全面使用。

find_if和equal_to的使用

#include <iostream>
#include <set> // stl包
#include <algorithm> // 算法包
using namespace std;

int main() {
    set<string, less<string>> setVar;
    setVar.insert("AAAA");
    setVar.insert("BBBB");
    setVar.insert("CCCC");
    for (auto it = setVar.begin(); it != setVar.end() ; it++) {
        cout << *it << endl;
    }
    // find_if
    // equal_to 比较用的
    // 使用函数适配器后,就能够 CCCC 传递给了  const _Tp& __y,
    // setVar.begin(), setVar.end() 会把这些元素取出来 const _Tp& __x
    // x == y 的比较
    set<string, less<string>>::iterator iteratorResult =
            find_if(setVar.begin(), setVar.end(), bind2nd(equal_to<string>(), "CCCC"));
    if (iteratorResult != setVar.end()) {
        cout << "查找到了" << endl;
    } else {
        cout << "没有查找到" << endl;
    }
    return 0;
}