comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: memory management and productivity
Date: Sat, 26 Jun 2004 11:54:45 -0400
Date: 2004-06-26T11:54:45-04:00	[thread overview]
Message-ID: <moCdnaK_KOXbAUDdRVn-tw@comcast.com> (raw)
In-Reply-To: <1087840264.973597@master.nyc.kbcfp.com>



Hyman Rosen wrote:

> I believe, but I'm not sure, that in Ada if a pointer *type* (not
> a pointer object) goes out of scope, then all objects of that type
> are deallocated.

Hmmm, a better description is that if a type goes out of scope, all 
objects of that type are deallocated.  If a storage pool goes out of 
scope, all objects in the pool are deallocated. If an access type goes 
out of scope though, nothing special happens.

It is easiest to see this by thinking about:

declare
   type Foo is private;
   Foob: Foo;

   procedure Fubar(F: in Foo) is
     type Bar is access all Foo
     B: Bar := F'access;
   begin null end;
begin
   Fubar(Foob);
end;

Obviously you don't want Foob to be deallocated when Bar goes out of 
scope.  B will be deallocated when Fubar returns, but that is because B 
goes out of scope, not Bar.


-- 

                                           Robert I. Eachus

"Reason and experience both forbid us to expect that national morality 
can prevail in exclusion of religious principles." -- George Washington




  parent reply	other threads:[~2004-06-26 15:54 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-17  4:56 memory management and productivity Russ
2004-06-17  5:15 ` tmoran
2004-06-17  8:07 ` Martin Dowie
2004-06-18 23:10   ` Russ
2004-06-19  9:04     ` Martin Dowie
2004-06-21  4:16       ` Russ
2004-06-21  7:29         ` Jano
2004-06-21  8:02           ` Martin Dowie
2004-06-21  8:22             ` Jano
2004-06-21  9:07               ` Martin Dowie
2004-06-21 22:36             ` Brian May
2004-06-22  7:47               ` Martin Dowie
2004-06-21  8:14           ` Ole-Hjalmar Kristensen
2004-06-21  8:27             ` Jano
2004-06-21  8:29             ` Martin Dowie
2004-06-22  7:53               ` Ole-Hjalmar Kristensen
2004-06-26 15:44                 ` Robert I. Eachus
2004-06-21 16:31             ` Frank J. Lhota
2004-06-22  7:58               ` Ole-Hjalmar Kristensen
2004-06-21  8:14           ` Martin Krischik
2004-06-21 15:22             ` Hyman Rosen
2004-06-21 16:47               ` Martin Krischik
2004-06-21 17:51           ` Hyman Rosen
2004-06-22 17:02             ` Pascal Obry
2004-06-26 15:54             ` Robert I. Eachus [this message]
2004-06-21  7:46         ` Martin Dowie
2004-06-21 19:03           ` Russ
2004-06-22  2:39             ` David Starner
2004-06-22  8:03               ` Ole-Hjalmar Kristensen
2004-06-23  4:41                 ` Russ
2004-06-23  7:41                   ` Martin Dowie
2004-06-23 17:36                     ` Björn Persson
2004-06-23 22:06                       ` David Starner
2004-06-24  0:34                         ` Björn Persson
2004-06-24  6:45                           ` Martin Krischik
2004-06-24 10:27                             ` Wes Groleau
2004-06-23 23:02                       ` Russ
2004-06-26 16:16                         ` Robert I. Eachus
2004-06-23 13:11                   ` Larry Kilgallen
2004-06-23 17:21                     ` Björn Persson
2004-06-24  7:35                       ` Ole-Hjalmar Kristensen
2004-06-26 17:10                         ` Simon Wright
2004-06-23 18:18                     ` Russ
2004-06-23 23:18                       ` David Starner
2004-06-23 22:15                     ` Larry Kilgallen
     [not found]                     ` <bebbba07.0406231018.21Organization: LJK Software <IKJODEu6UfVI@eisner.encompasserve.org>
2004-06-24  6:40                       ` Russ
2004-06-26 16:33                         ` Robert I. Eachus
2004-06-29  0:33                           ` Randy Brukardt
2004-06-24 13:29                     ` Stephen Leake
2004-06-24 14:09                       ` Hyman Rosen
2004-06-24 19:58                         ` Frank J. Lhota
2004-06-25  1:30                         ` Stephen Leake
2004-06-25  2:15                         ` Russ
2004-06-24 19:26                       ` Russ
2004-06-25  1:37                         ` Stephen Leake
2004-06-25 10:13                           ` Ole-Hjalmar Kristensen
2004-06-26  0:20                             ` David Starner
2004-06-25 23:35                           ` Russ
2004-06-26 11:27                             ` Martin Dowie
2004-06-26 13:45                             ` Ed Falis
2004-06-26 20:38                               ` Russ
2004-06-26 21:36                                 ` Ludovic Brenta
2004-06-27  7:54                                   ` Dmitry A. Kazakov
2004-06-26 17:20                             ` Robert I. Eachus
2004-06-25  8:52                         ` David Starner
2004-06-24 20:51                     ` Larry Kilgallen
2004-06-22  6:09             ` Martin Krischik
2004-06-22 10:20             ` Georg Bauhaus
2004-06-26 16:00             ` Robert I. Eachus
2004-06-21  8:23         ` Dmitry A. Kazakov
  -- strict thread matches above, loose matches on Subject: below --
2004-06-21 10:33 Christoph Karl Walter Grein
2004-06-21 10:38 ` Jano
replies disabled

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