Le 12/02/2011 15:22, Dave Page a écrit :
> On Sat, Feb 12, 2011 at 9:23 AM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
>> I know Peter and Dave talked about some stuff I actually didn't
>> understand, but it seems it would take some time to do. So, I prefer
>> having this simple and effective fix right now :)
>
> :-)
>
> We were talking about smart pointers - basically, instead of doing
> something like:
>
> obj *foo = new obj();
> ...
> <many lines of code and exit points>
> ...
> delete foo;
>
> You might do:
>
> pg_smartptr<obj> foo;
> ...
> <many lines of code and exit points>
> ...
>
> Note the lack of a delete - that's the point here; it's not needed
> because as soon as the smart pointer goes out of scope, it's
> destructor will delete foo. That means you don't have to remember to
> include the delete in each of the many exit points of the code.
>
Yeah, that would be really interesting. And thanks for the explanation :)
> See also http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization
>
--
Guillaumehttp://www.postgresql.frhttp://dalibo.com