On Fri, 3 Oct 2003 18:53:08 +0200 (CEST) Robert Vazan <[EMAIL PROTECTED]> wrote:
RV> On Fri, 3 Oct 2003 17:21:07 +0200 (Romance Daylight Time) Vadim Zeitlin RV> <[EMAIL PROTECTED]> wrote: RV> RV> > 1. return raw pointer (no problem here as long as it's assigned to RV> > shared_ptr in the caller, but, unlike when returning the object, RV> > you can't ensure this -- still, in practice, I don't see any problems RV> > with this, do you?) RV> RV> You cannot return locals this way. If the Profile object is constructed on RV> demand as local variable, the function will return invalid pointer. RV> RV> > 2. return const shared_ptr reference: this, of course, supposes that all RV> > pointers are stored as shared_ptrs but this is the goal anyhow RV> RV> Same problem as above. Yes, as I said this only works if all pointers are stored as shared_ptrs [members]. I think this is already [almost] the case. Do we ever create Profile on the fly like this for example? I don't think so... It's true that we would still have to return shared_ptrs as objects from any function which creates a new object, however. But I don't think there is any problem with having incomplete class declaration at this point, is there? VZ ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Mahogany-Developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mahogany-developers