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
next prev parent 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