Boost logo

Boost Users :

From: Rupert Swarbrick (rupert.swarbrick_at_[hidden])
Date: 2006-04-30 07:03:20


Sebastian Redl wrote:
> Eoin wrote:
>
>> But I get a boost::bad_weak_ptr error. Now if I use regular pointers
>> instead of weak_ptr's I can get stuff working except that when I use
>> "bar_(this)" in the initialization list for foo MSVC 7.1 gives me a
>> warning, which I don't like. Is there a more appropriate method I should
>> be using to accomplish this.
>>
>>
> Just use a regular pointer. As the bar object is a subobject of foo, it
> is guaranteed to be destructed first, meaning that the pointer can never
> be invalid in the lifetime of bar.
>
> Sebastian Redl

May I second that.

There's an example somewhere on the web of using another shared_ptr but
with a null destructor, which I followed. The following day, I realised
it was a complete waste of time - you only need one shared ptr after all
to get rid of all the horrible double free errors! :)

Rupert


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