lambad的局限就是上面两个图片所示,再增加一个自己的例子,相对简单:
#include <string>
#include <iostream>
#include <set>
#include <typeinfo>
using namespace std;
int main()
{
auto cmp = [](const string& s1, const string& s2) {
return s1[0] < s2[0];
};
set<string, decltype(cmp)> s(cmp);
s.insert({"as", "bs", "AA"});
for (auto& itr : s) {
cout << itr << endl;
}
}
输出: