$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Rogier van Dalen (R.C.van.Dalen_at_[hidden])
Date: 2003-12-31 09:33:38
Hi all,
First of all, I'm not sure this is the correct place to discuss this. 
Please point me to a better place if it's not.
"A proposal to add general purpose smart pointers to the library" 
http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1450.html
is based mostly on the boost shared_ptr. It explicitly allows a 
reference-linked implementation though (III.A.4). Why? According to 
Andrei Alexandrescu (Modern C++ Design 7.5) the only advantage of that 
is that no extra object (reference counter) has to be allocated. I have 
not been able to think of or find any other advantage.
But what to do with the deleter then, whose type is not in the 
shared_ptr template parameter list? There must be something I'm missing, 
or otherwise a linked list  implementation of shared_ptr is forced to 
allocate at least some free store for the deleter (or a vtable) -- 
rendering the advantage void.
Regards,
Rogier