From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: memory management and productivity
Date: Mon, 21 Jun 2004 18:47:45 +0200
Date: 2004-06-21T18:47:45+02:00 [thread overview]
Message-ID: <1374354.xRstPWWbXB@linux1.krischik.com> (raw)
In-Reply-To: 1087831367.30099@master.nyc.kbcfp.com
Hyman Rosen wrote:
> Martin Krischik wrote:
>> For example C++ std::vector<> can't store polymorvic objects - Ada soon
>> to come Ada.Containers.Indefinite_Vectors can.
>
> That seems like a neat trick, given that a vector is
> intended to work like an array,
> that is, to have a
> contiguous block of equal-sized objects.
It only has to work like it - internally it might be implemented differently
i.E. using dynamic memory.
> How is the
> container going to work?
The trick is that Ada can "clone ()" objects without:
class Base
{
virtual Base* clone();
}
That's because Ada knows (by hidden size attribute) how large any object is.
Including polymorvic objects. Write any indefinite object to a Stream via
'Output and look at it with hex editor.
In that respect Ada is even cooler then Java: You can serialise any object
without a Serialiseable interface.
So, the truth is that the object is copied into dynamic memory. However, you
will never know about it.
With Regards
Martin
--
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com
next prev parent reply other threads:[~2004-06-21 16:47 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 [this message]
2004-06-21 17:51 ` Hyman Rosen
2004-06-22 17:02 ` Pascal Obry
2004-06-26 15:54 ` Robert I. Eachus
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