From: "Xenos" <dont.spam.me@spamhate.com>
Subject: Re: Zero length Objects
Date: Thu, 1 Jul 2004 11:03:14 -0400
Date: 2004-07-01T11:03:14-04:00 [thread overview]
Message-ID: <cc193q$mt96@cui1.lmms.lmco.com> (raw)
In-Reply-To: 2kimpdF2orakU1@uni-berlin.de
"Nick Roberts" <nick.roberts@acm.org> wrote in message
news:2kimpdF2orakU1@uni-berlin.de...
> To my mind, a significant problem remains. If we declared something like:
>
> CWhatever mem_a[1000000];
>
> somewhere in a template class, where CWhatever was a template parameter,
and
> then instantiated the class with CEmpty replacing CWhatever, we would get
a
> mem_a in the instance that took up a whopping amount of memory to store
> absolutely nada! Yuk.
>
> PS: Please forgive any minor mistakes, I'm not a C++ expert.
>
> --
> Nick Roberts
>
>
But C++ does compensate for this somewhat. Empty base classes (used for
traits and the like) will not take any space in derived classes. For
example:
class Empty {};
class Derived : public Empty {
char a;
};
Derived D[1000000];
Here, Empty is not increase the size of D at all.
DrX
next prev parent reply other threads:[~2004-07-01 15:03 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-30 5:55 Zero length Objects Robert C. Leif
2004-06-30 20:32 ` Jacob Sparre Andersen
2004-06-30 21:01 ` Frank J. Lhota
2004-07-01 0:02 ` Nick Roberts
2004-07-01 1:28 ` Georg Bauhaus
2004-07-01 10:37 ` Björn Persson
2004-07-01 11:25 ` Larry Kilgallen
2004-07-01 14:11 ` Nick Roberts
2004-07-01 15:42 ` Larry Kilgallen
2004-07-01 14:06 ` Xenos
2004-07-01 15:26 ` Nick Roberts
2004-07-02 1:06 ` Jeffrey Carter
2004-07-01 0:47 ` Brian May
2004-07-01 13:32 ` Frank J. Lhota
2004-07-01 14:52 ` Nick Roberts
2004-07-01 15:03 ` Xenos [this message]
2004-07-01 15:57 ` Hyman Rosen
2004-07-01 16:05 ` Xenos
2004-07-02 15:02 ` Frank J. Lhota
2004-07-02 15:11 ` Adrian Knoth
2004-07-02 15:43 ` Frank J. Lhota
2004-07-02 19:01 ` Vinzent 'Gadget' Hoefler
2004-07-02 19:07 ` Adrian Knoth
2004-07-02 19:25 ` Vinzent 'Gadget' Hoefler
2004-07-02 21:06 ` Xenos
2004-07-02 21:56 ` Vinzent 'Gadget' Hoefler
-- strict thread matches above, loose matches on Subject: below --
2004-07-02 8:30 Christoph Karl Walter Grein
2004-07-06 11:59 ` Nick Roberts
2004-07-06 22:14 ` Randy Brukardt
2004-07-06 22:28 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox