STL中sort排序算法第三个参数_Compare的实现本质
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL中sort排序算法第三个参数_Compare的实现本质相关的知识,希望对你有一定的参考价值。
关于C++ STL vector 中的sort排序算法有三种自定义实现,它们本质上都是返回bool类型,提供给sort函数作为第三个参数。
- 重载运算符
- 全局的比较函数
- 函数对象
我认为从实现方式看,重载运算符和函数对象实现本质上是一样的:两者都是括号运算符的重载。
- 重载运算符利用了泛型模板,再重载模板中的括号运算福,接着重载里面的大于小于操作符;
- 而函数对象则是直接针对自己的对象重载括号运算符。
下图是其中一个泛型模板比较函数,位于头文件stl_function.h中。
『注:本文来自博客园“小溪的博客”,若非声明均为原创内容,请勿用于商业用途,转载请注明出处http://www.cnblogs.com/xiaoxi666/p/6424726.html』
以上是关于STL中sort排序算法第三个参数_Compare的实现本质的主要内容,如果未能解决你的问题,请参考以下文章
如何利用C++/STL vector的sort算法对元素是自定义类型进行排序
STL_算法_局部排序(partial_sortpartial_sort_copy)
STL_算法_对所有元素排序(sortstable_sort)
STL_算法_对全部元素排序(sortstable_sort)