comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: newbie: can't read fast enough... :-)    memory leaks...
Date: Thu, 4 Sep 2014 09:23:29 +0200
Date: 2014-09-04T09:23:29+02:00	[thread overview]
Message-ID: <h4o7fr5kyse3$.4qzsaai064ww$.dlg@40tude.net> (raw)
In-Reply-To: lu8ti4$lqq$2@dont-email.me

On Wed, 03 Sep 2014 22:32:51 -0700, Jeffrey Carter wrote:

> On 09/03/2014 09:57 PM, Brad Moore wrote:
>> 
>>      declare
>>         type String_Access is access String;
>>         A, B : String_Access;
>>      begin
>>         A := new String'("String 1");
>>         B := new String'("String 2");
>>         ... -- Operate on the data.
>>      end;
>>      -- A and B are automatically freed here because the String_Access
>>      -- is finalized since the scope of the declaration of the access
>>      -- type is being exited, and finalizing an access type also
>>      -- finalizes its collection (allocated objects designated by that
>>      -- type).
>> 
>> This is a nice way to free up a bunch of objects that are no longer needed, if
>> it can be guaranteed that the objects are only needed in a nested scope. I like
>> this better than garbage collection, because the
>> deallocation occurs more consistently, when and where it is needed.
>> I view this as being less error prone, if one is able to take advantage of this
>> approach.
> 
> Recent comments here in another thread indicate that this only works if
> 'Storage_Size is defined for the access type.

An arena pool would do the job. The Storage_Pool attribute would statically
ensure that the access type won't outlive the pool.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2014-09-04  7:23 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-03  9:38 newbie: can't read fast enough... :-) memory leaks gdotone
2014-09-03 10:17 ` Pascal Obry
2014-09-03 10:48   ` G.B.
2014-09-03 15:50     ` Pascal Obry
2014-09-03 17:28     ` Robert A Duff
2014-09-03 17:36       ` Pascal Obry
2014-09-03 19:09         ` gdotone
2014-09-03 19:19           ` gdotone
2014-09-03 19:29             ` Dmitry A. Kazakov
2014-09-03 20:19         ` Robert A Duff
2014-09-03 19:19       ` Dmitry A. Kazakov
2014-09-03 20:31         ` Robert A Duff
2014-09-04  7:18           ` Dmitry A. Kazakov
2014-09-04  4:57   ` Brad Moore
2014-09-04  5:32     ` Jeffrey Carter
2014-09-04  7:23       ` Dmitry A. Kazakov [this message]
2014-09-04 14:23       ` Brad Moore
2014-09-04 15:36         ` Brad Moore
2014-09-04 18:28           ` Robert A Duff
2014-09-05  4:58             ` anon
2014-09-05  9:45               ` Simon Wright
2014-09-05 21:54                 ` anon
2014-09-06  6:28                   ` Simon Wright
2014-09-04 15:55         ` G.B.
2014-09-04 16:43         ` Jeffrey Carter
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox