Sign in to follow this  
noe

boost::bind performance

Recommended Posts

Correct me if i'm wrong: when I create a binder with help of boost::bind I get a functor object that is part of some hierarchy with overloaded virtual method operator(), so when I want to use that in something like std::for_each I get a virtual call for every object in given range? Beacause that would be an argument for not using it in speed critical code but instead write a "dedicated" functor for given task

Share this post


Link to post
Share on other sites
In functors, operator() is not overloaded due to inheritance - that would make no sense to have a baseclass that would define operator(). Typically, the class hierarchy only defines types (see std::unary_function<> for more information). So no, there is no penalty due to a virtual function call.

Regards,

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this