Sunday, 15 May 2011

sorting - Sort by a function that takes argument(s) in c++? -



sorting - Sort by a function that takes argument(s) in c++? -

i'm trying write function sort vector of custom class objects variety of different attributes.

the c++ sort reference, found here:

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

says can sort this:

std::sort (myvector.begin(), myvector.end(), myfunction);

what able pass argument myfunction in add-on 2 objects vector this:

std::sort (myvector.begin(), myvector.end(), myfunction(mode=7));

do know of way so?

i relatively new c++, coming python easy.

you can utilize functor instead of free function:

struct functor{ int mode; bool operator() (int a,int b) { homecoming (a<b);} } functor;

the overloaded () operator executes when functor called sort. in there can have variable mode , utilize need. set mode (you set in on functor constructor) , phone call sort using it:

functor.mode = 7; // or set in constructor std::sort (myvector.begin(), myvector.end(), functor);

c++ sorting

No comments:

Post a Comment