Mirror of the gdb mailing list
 help / color / mirror / Atom feed
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


  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