"Peter Dimov" <[EMAIL PROTECTED]> wrote in message
003f01c2a06f$2c4f6550$1d00a8c0@pdimov2">news:003f01c2a06f$2c4f6550$1d00a8c0@pdimov2...
> From: "Eric Woodruff" <[EMAIL PROTECTED]>
> > Using g++ 2.95.4,
> >
> > #include <iostream>
> > #include <boost/shared_ptr>
>
> Changed to <boost/shared_ptr.hpp>.
>
Mistyped in the message, but was correct in the code.
> > struct Object {
> > ~Object () {
> > std::cout << "byebye" << std::endl;
> > }
> > };
> >
> > int main () {
> > Object o; // destructs
> > boost::shared_ptr<void> (new Object); // does not destruct, however
> > apprears to delete
> > std::cout << "done." << std::endl;
> > }
>
> C:\Documents and Settings\pdimov\My
Documents\Projects\testbed>g++ --version
> 2.95.3-6
>
> C:\Documents and Settings\pdimov\My Documents\Projects\testbed>g++
> testbed.cpp
>
> C:\Documents and Settings\pdimov\My Documents\Projects\testbed>a
> byebye
> done.
> byebye
>
> Note that you are constructing an unnamed temporary shared_ptr<void>,
which
> is why it destructs before "done." is printed.
Doesn't make any difference with the outcome in theory or in my test as I
just tried it.
int main () {
boost::shared_ptr<void> p (new Object);
}
No destructor printed.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost