Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在std::sort上使用类方法比较器_C++_Oop_Sorting_Methods_Std - Fatal编程技术网

C++ 在std::sort上使用类方法比较器

C++ 在std::sort上使用类方法比较器,c++,oop,sorting,methods,std,C++,Oop,Sorting,Methods,Std,可能重复: 在std::sort中是否可以使用类方法作为比较器函数 例如: std::sort(list.begin(),list.end(),object->comparator) //Doesn't compile 如果是,如何执行此操作?您需要提供回调函数: std::sort(list.begin(),list.end(),object::comparator) 假设您的函数已经是静态的,我看不出任何其他问题。您需要将函数作为回调函数提供: std::sort(list.be

可能重复:

在std::sort中是否可以使用类方法作为比较器函数

例如:

std::sort(list.begin(),list.end(),object->comparator) //Doesn't compile

如果是,如何执行此操作?

您需要提供回调函数:

std::sort(list.begin(),list.end(),object::comparator)

假设您的函数已经是静态的,我看不出任何其他问题。

您需要将函数作为回调函数提供:

std::sort(list.begin(),list.end(),object::comparator)
假设您的函数已经是静态的,我看不出任何其他问题。

是的,您可以使用:

是的,您可以使用:


同意静态的,但是非静态的方法呢?@Vik查看作为可能的副本发布的链接。同意静态的,但是非静态方法呢?@Vik查看作为可能的副本发布的链接。它是定义运算符的选项还是定义运算符的选项这应该是可接受的答案,因为它。。。回答问题您是否需要&from&S::Compare?我通常自己把它放在那里,因为我确信这样做没有错,但我只是好奇,因为我看到过函数指针在没有&.@gred-的情况下被传递的例子。我手头没有标准的章节,但我想这是因为&S::Compare不是指向函数的指针。这是一个指向成员函数的指针,一个完全不同的野兽。这应该是公认的答案,因为它。。。回答问题您是否需要&from&S::Compare?我通常自己把它放在那里,因为我确信这样做没有错,但我只是好奇,因为我看到过函数指针在没有&.@gred-的情况下被传递的例子。我手头没有标准的章节,但我想这是因为&S::Compare不是指向函数的指针。它是一个指向成员函数的指针,一个完全不同的beast。