|
Boost Users : |
Subject: Re: [Boost-users] [shared_ptr] Member functions as deallocators
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-06-03 13:28:11
Actually, using Boost.Bind will use a lot more memory overall. Would
it not be better to create a static function somewhere, something
like:
class SceneManager
{
...
static deallocSM(SceneManage *ptr)
{
ptr->clearScene();
}
...
};
And create as:
SceneManager *s=fromSomewhere();
boost::shared_ptr<SceneManager> p(s, &SceneManager::deallocSM);
Doing this means it only keeps a pointer to the function call, instead
of through a bind instantiation, meaning this will execute ever so
tiny slightly faster, as well as take less space? It has been a while
since I created a new handler like that, but I 'think' the function
takes a pointer to the embedded pointer type, check the smart_ptr docs
for details I guess.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net