Fawzi Mohamed wrote: > Not only that it might be useful for some methods to delete the object > itself. The pimpl pattern should be used for such, if you want to use an invariant. Note that the C++0x shared_ptr uses pimpl in that the ref count is held separately from the object.