$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Larry Evans (jcampbell3_at_[hidden])
Date: 2002-10-02 06:51:49
David B. Held wrote:
[snip]
>That is, with my proposal, I believe that the following would work
>correctly, and with negligible side effects:
>
>void g(foo_ptr const& p)
>{
> p->bar();
> p->baz(3); // Error! (Correct)
>}
>
>
>
I haven't looked real close, but doesn't the subsection titled
"Smart Pointers and const" in Item 28 of Scott Meyers
_More Effective C++_ contain a solution to this problem?
Basically, it describes SmartPtr<T> derived from
SmartPtrToConst<T> and SmartPtrToConst<T> containing
a union of const and non-const pointers to T. Unfortunately,
this would require changing shared_ptr.