• Advertisement
Sign in to follow this  

boost::bind performance

This topic is 4184 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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
Advertisement
I believe boost::bind uses compile-time polymorphism, not run-time polymorphism.

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
Sign in to follow this  

  • Advertisement