【发布时间】:2015-11-03 11:55:20
【问题描述】:
我遇到了如下代码:
#include <iostream>
#include <set>
int main() {
auto comp = [](int x, int y){return (x > y); };
std::set<int, decltype(comp)> inversed({1,2,3,4,5}, comp);
for ( auto i = inversed.begin(); i != inversed.end(); ++i ) {
std::cout << *i << std::endl;
}
return 0;
}
代码打印“5 4 3 2 1”,即以相反的顺序初始设置。谁能解释为什么?比较器如何影响集合的初始化?
谢谢,
科斯蒂亚
【问题讨论】:
-
翻转比较器中的符号?
标签: c++ set comparator