
On May 23, 2005, at 6:13 PM, Caleb Epstein wrote:
On 5/23/05, Sohail Somani
wrote: -----Original Message----- Because that would make it larger than sizeof (T*). I believe the general consensus on this is to use shared_ptr or perhaps the upcoming policy_ptr.
For educational purposes, why is this important?
I'm not certain, but I would guess that overhead is the reason. Perhaps someone more closely involved in the implementation (Peter?) would care to comment.
The "bells and whistles" all went into shared_ptr. Unless you're trying to eke out every last CPU cycle from your code, using shared_ptr as a scoped_ptr w/deleter is an eminently reasonable design choice
A customized deleter does not have to occupy space if it has no data
members. boost::compressed_pair can easily be used to optimize away
space for an empty member, e.g.:
compressed_pair