按一个在c ++中带参数的函数排序?

Log*_*ire 2 c++ sorting

我正在尝试编写一个函数来通过各种不同的属性对自定义类对象的向量进行排序.

c ++排序参考,在这里找到:

http://www.cplusplus.com/reference/algorithm/sort/

说你可以像这样排序:

std::sort (myvector.begin(), myvector.end(), myfunction);
Run Code Online (Sandbox Code Playgroud)

除了我的向量中的两个对象之外,我希望能够做的是将参数传递给myfunction:

std::sort (myvector.begin(), myvector.end(), myfunction(mode=7));
Run Code Online (Sandbox Code Playgroud)

你知道这样做的方法吗?

我对c ++比较陌生,来自python,这很容易.

nne*_*neo 5

如果您使用的是C++ 11,则可以使用lambda:

sort(myvec.begin(), myvec.end(), [] (Type a, Type b) { return myfunction(a,b,7); });
Run Code Online (Sandbox Code Playgroud)