|
Re: Support for Indexing and Iteration Safety: msg#00331python.c++
"Brett Calcott" <brett.calcott@xxxxxxxxxxxxxxx> writes: <snip my entire posting quoted> > I'm haven't gone far enough in what I am doing to encounter these > problems, but for what its worth, at the moment I would have done the > following: > > if something is lightweight, return a copy > if it is big, use shared_ptr > > Which means that the above problems 3 & 4 would not occur. That is only true if you can modify your vector to be a vector<shared_ptr<SomeBigObject> >. Often, the implementation of code being wrapped can't be intrusively changed in that way. Furthermore, even if it's lightweight, returning a copy gets you unpredictable behavior like: >>> v[3].foo = 1 >>> v[3].foo 22 because you've only set the attribute on the copy. > And 1 & 2 don't really seem that onerous a task. So I guess I don't > 'care' that much. Hmm, this might be a case of "those sophisticated enough to know what I'm talking about also know how to avoid the problems." Where are all the other respondents? I know a number of people have tried to wrap things with array indexing in the past... http://aspn.activestate.com/ASPN/Mail/Message/1428806 http://aspn.activestate.com/ASPN/Mail/Message/1465837 http://aspn.activestate.com/ASPN/Mail/Message/1227141 http://aspn.activestate.com/ASPN/Mail/Message/1227504 http://aspn.activestate.com/ASPN/Mail/Message/1431504 http://aspn.activestate.com/ASPN/Mail/Message/1425273 http://aspn.activestate.com/ASPN/Mail/Message/1227378 > Of course, I reserve the right to change my opinion at any moment if I > encounter problems :) Did I change your mind yet? ;-> <snip a duplicate copy of the entire foregoing text> -- Dave Abrahams Boost Consulting www.boost-consulting.com |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Projects Page Reminder: 00331, David Abrahams |
|---|---|
| Next by Date: | RE: Projects Page Reminder: 00331, Achim Domma \(ProCoders\) |
| Previous by Thread: | Re: Support for Indexing and Iteration Safetyi: 00331, Brett Calcott |
| Next by Thread: | Re: Support for Indexing and Iteration Safety: 00331, David Abrahams |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |