From: Marcel Lanz <marcel.lanz@ds9.ch>
To: Michael Elizabeth Chastain <mec.gnu@mindspring.com>
Cc: eliz@elta.co.il, gdb@sources.redhat.com
Subject: Re: gdb, c++ & namespaces
Date: Thu, 15 Jan 2004 14:07:00 -0000 [thread overview]
Message-ID: <20040115140738.GA22662@ds9.ch> (raw)
In-Reply-To: <20040115125112.182744B104@berman.michael-chastain.com>
If I think of a "the type that the pointer says" in C++ this is a
pointer of type A pointing to something which is not of type A; hence
its casted to another type or its a pointer to a derived class.
"the type that the object in memory has" is a pointer of type A that
points to an object of type A.
I would say, that polymorphism is like casting type A to B if you can be
sure that all invariants are valid if you use the object after the cast.
With dynamic_cast<B*>(a); you can cast a polymorphic object in a safe
manner on runtime.
This way, I would say that a "dynamic type" is a polymorphic type.
A "static type" is a non-polymorphic type.
void* in C is a very havy polymorphic type but not safe.
C++'s aim was to avoid the void* and make type casting safe.
So if we discuss about "dynamic type" and "static type" for the
debugger, its perhaps not a good idea to use C++ known names for it,
because "a pointer of type A which points in a unsafe manner to something of type B"
is not in the spirit of C++.
What about "pointer type" and "object type" ?
Marcel
On Thu, Jan 15, 2004 at 07:51:12AM -0500, Michael Elizabeth Chastain wrote:
> eli> The manual doesn't mention "static type" and "dynamic type" in the
> eli> section that describes "set pruint". I think it should, if thi
> eli> terminology is to be widely accepted.
>
> I don't know what the popular usage in the C++ community is.
> I don't want to invent new phrases if there are existing phrases.
>
> I checked "The C++ Programming Language" and it does not have
> any nice phrases to distinguish "the type that the pointer says"
> versus "the type that the object in memory has".
>
> Michael C
--
Marcel Lanz
http://www.ds9.ch/lanz/
marcel.lanz@ds9.ch | marcel.lanz@n-1.ch
GnuPG: F975 C6F7 04C8 642B 6DF4 4DF4 2945 F02A 797E 7DAB
next prev parent reply other threads:[~2004-01-15 14:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-15 12:51 Michael Elizabeth Chastain
2004-01-15 14:07 ` Marcel Lanz [this message]
2004-01-15 14:26 ` Robert Zeh
2004-01-16 22:09 ` Gabriel Dos Reis
-- strict thread matches above, loose matches on Subject: below --
2004-01-14 14:17 Michael Elizabeth Chastain
2004-01-14 14:26 ` Marcel Lanz
2004-01-15 8:02 ` Eli Zaretskii
2004-01-16 22:04 ` Gabriel Dos Reis
2004-01-14 12:02 Michael Elizabeth Chastain
2004-01-14 12:43 ` Marcel Lanz
2004-01-14 13:49 ` Marcel Lanz
2004-01-14 13:55 ` Daniel Jacobowitz
2004-01-14 15:29 ` Andrew Cagney
2004-01-14 15:35 ` Marcel Lanz
2004-01-14 16:00 ` Andrew Cagney
2004-01-14 11:36 Michael Elizabeth Chastain
2004-01-14 11:54 ` Marcel Lanz
2004-01-14 10:16 Marcel Lanz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040115140738.GA22662@ds9.ch \
--to=marcel.lanz@ds9.ch \
--cc=eliz@elta.co.il \
--cc=gdb@sources.redhat.com \
--cc=mec.gnu@mindspring.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox