大佬教程收集整理的这篇文章主要介绍了C中更大/更小的函数对象,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
std::priority_queue<int,std::vector<int>,std::greater<int> > q2; for(int n : {1,8,5,6,3,4,9,7,2}) q2.push(n); print_queue(p2);
这打印0,1,2,9.但是,
int x[10] = { 1,10 }; std::sort(x,x+10,std::greater<int>());
打印这将给出10,1.
如果有人能够在我的例子中描述“更大”的作用,那将是很好的,而不仅仅是说“更大”的作用.
默认模板定义如下所示:
template< class T,class Container = std::vector<T>,class Compare = std::less<typename Container::value_type> > class priority_queue;
它应用较少的<>()(lhs,rhs)来获得“最大”的rhs元素.但在你的情况下,它将应用更大的<>()(lhs,rhs)来获得“最大”的rhs元素(当然它将是最小的).
另一方面,std :: sort保留了您提供的订单类型.所以std :: less将按升序排序,std :: greater按降序排序.
以上是大佬教程为你收集整理的C中更大/更小的函数对象全部内容,希望文章能够帮你解决C中更大/更小的函数对象所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。