sort中的比较函数compare
Posted ArgenBarbie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sort中的比较函数compare相关的知识,希望对你有一定的参考价值。
sort中的比较函数compare要声明为静态成员函数或全局函数,不能作为普通成员函数,否则会报错: invalid use of non-static member function
因为:非静态成员函数是依赖于具体对象的,而std::sort这类函数是全局的,因此无法再sort中调用非静态成员函数。静态成员函数或者全局函数是不依赖于具体对象的, 可以独立访问,无须创建任何对象实例就可以访问。同时静态成员函数不可以调用类的非静态成员。
//自定义比较函数 static bool compare(string &s1, string &s2) { return s1 + s2 > s2 + s1; }
以上是关于sort中的比较函数compare的主要内容,如果未能解决你的问题,请参考以下文章
TreeMap和TreeSet在排序时如何比较元素,Collections工具类中的sort()方法如何比较元素