boost::bind performance
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
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,
Regards,
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement