c++ - 这段代码是如何工作的? (多集排序)

标签 c++ stl multiset

struct compare{
    bool operator() ( const string& a , const string& b ) const{
        return a.size() < b.size ();
    }
};


multiset<string , compare> stg;

我正在解决一个问题,我想根据字符串长度对多重集进行排序。我在互联网上搜索并得到了这个结构。它对我有用..但我想知道它是如何工作的...

我只是对这行代码感到困惑。到目前为止,我认为结构只能包含变量,不能包含函数。 是不是有点像类中的重载。

 bool operator() ( const string& a , const string& b ) const{

最佳答案

C++ 中的结构可以包含代码,但这通常不是一个好主意,因为您没有获得与类相同级别的封装。

但是,C 中的结构只是结构,不能包含代码。

来源:https://msdn.microsoft.com/en-us/library/4a1hcx0y.aspx

关于c++ - 这段代码是如何工作的? (多集排序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288404/

相关文章:

list - Guava Multiset 和 Multimap

c++ - 通过 pid 分配信号处理程序

c++ - STL - 以下代码的问题是什么?

C++:将 std::set_union() 输出存储在 std::multiset 中

c++ - 在容器中的每个元素上调用成员函数

c++ - std::function 和类继承

c++ - 如何在不构造 key_type 对象的情况下在 std::multiset 中进行二进制搜索?

c++ - 减少 for 循环开销

c++ - OSX C++ Xcode : Pasting long input into console gives upside down question marks

C++单个变量来处理来自用户的多个类