关于C++ STL vector 中的sort排序算法有三种自定义实现,它们本质上都是返回bool类型,提供给sort函数作为第三个参数。
- 重载运算符
- 全局的比较函数
- 函数对象
我认为从实现方式看,重载运算符和函数对象实现本质上是一样的:两者都是括号运算符的重载。
- 重载运算符利用了泛型模板,再重载模板中的括号运算福,接着重载里面的大于小于操作符;
- 而函数对象则是直接针对自己的对象重载括号运算符。
下图是其中一个泛型模板比较函数,位于头文件stl_function.h中。
『注:本文来自博客园“小溪的博客”,若非声明均为原创内容,请勿用于商业用途,转载请注明出处http://www.cnblogs.com/xiaoxi666/p/6424726.html』