我想要做的一个简单的例子就是这个.
int x[5] {9,2,3,1,8};set<int,???> my_set;my_set.insert(0);my_set.insert(1);my_set.insert(4);for (int a : my_set) cout << a << " "; // I want the answer 1 4 0 because x[1] < x[4] < x[0]
我想我可以使用结构来做到这一点,但我不确定x的使用是如何改变的.
解决方法 您可以使用lambda进行设置int x[5] {9,8};auto comparator = [&](int a,int b){ return x[a] < x[b]; };std::set<int,decltype(comparator)> my_set(comparator);总结
以上是内存溢出为你收集整理的c – 如何使用局部变量创建元素排序集?全部内容,希望文章能够帮你解决c – 如何使用局部变量创建元素排序集?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)