comp.lang.ada
 help / color / mirror / Atom feed
From: dmitry@elros.cbb-automation.de (Dmitry A. Kazakov)
Subject: Re: Merits of re-dispatching
Date: Thu, 21 Feb 2002 09:04:08 GMT
Date: 2002-02-21T09:04:08+00:00	[thread overview]
Message-ID: <3c74b2a0.415796@News.CIS.DFN.DE> (raw)
In-Reply-To: 3C748B15.7080005@mail.com

On Thu, 21 Feb 2002 05:49:10 GMT, Hyman Rosen <hyrosen@mail.com>
wrote:

>Dmitry A. Kazakov wrote:
>> My interpretation was that if C++ dispatches then it treats the type
>> as class wide,, otherwise as specific. Then the  object is always
>> treated as specific in all calls from destructor. So what? Maybe it is
>> hard to simulate, but well possible to explain.
>
>I don't know what it is you think that C++ does, but in fact, all calls
>to virtual methods in C++ are dispatching, unless you ask for a specifc
>version using the pointer->CLASS::FUNCTION() notation. In constructors
>and destructors, the type of the object is the type whose constructor
>or destructor is running, and that is the type used for dispatching.

OK, it dispatches as if it didn't. Therefore I say that it does not.
What happens internally is of no interest.

>If the compiler can deduce the actual type of an object in a dispatching
>call, it is of course free to call the proper method directly, and it
>may be the case that such deduction is easier in a constructor or
>destructor, but that is completely irrelevant to understanding what is
>happening from the language viewpoint.

The viewpoint of C++ language, but I am not talking about C++
definition of "dispatch" and its implementation issues.

>You may persist in maintaining your incorrect mental model of what is
>going on, but the only effect will be to lead you astray in complicated
>caes.

I still prefer a model where types of objects are not arbitrarily
changed [no matter physically or mentally] depending on what kind of
method is used.

Regards,
Dmitry Kazakov



  reply	other threads:[~2002-02-21  9:04 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-07 10:26 Merits of re-dispatching [LONG] Dmitry A. Kazakov
2002-02-07 15:03 ` Hyman Rosen
2002-02-08  1:29   ` Matthew Heaney
2002-02-08  9:16     ` Dmitry A. Kazakov
2002-02-08 18:30       ` Hyman Rosen
2002-02-09  0:10         ` Matthew Heaney
2002-02-12  8:32         ` Dmitry A. Kazakov
2002-02-12 21:37           ` Hyman Rosen
2002-02-13  9:29             ` Dmitry A. Kazakov
2002-02-13 14:32               ` Hyman Rosen
2002-02-13 19:58           ` Dave Harris
2002-02-14 15:06             ` Dmitry A. Kazakov
2002-02-16 12:10               ` Dave Harris
2002-02-18  8:57                 ` Dmitry A. Kazakov
2002-02-18 19:47                   ` Merits of re-dispatching Dave Harris
2002-02-19  9:20                     ` Dmitry A. Kazakov
2002-02-21  5:49                       ` Hyman Rosen
2002-02-21  9:04                         ` Dmitry A. Kazakov [this message]
2002-02-21 18:17                           ` Hyman Rosen
2002-02-22  9:21                             ` Dmitry A. Kazakov
2002-02-22 16:59                               ` Hyman Rosen
2002-02-25  8:51                                 ` Dmitry A. Kazakov
2002-02-08 23:51       ` Merits of re-dispatching [LONG] Matthew Heaney
2002-02-12  9:02         ` Dmitry A. Kazakov
2002-02-07 23:40 ` Nick Roberts
2002-02-08  8:56   ` Dmitry A. Kazakov
2002-02-08  1:06 ` Matthew Heaney
2002-02-08  9:48   ` Dmitry A. Kazakov
2002-02-09  0:16     ` Matthew Heaney
2002-02-08 18:10   ` Hyman Rosen
2002-02-09  0:41     ` Matthew Heaney
2002-02-08 18:33 ` Nick Roberts
2002-02-09  4:07   ` Nick Roberts
2002-02-12 10:13   ` Dmitry A. Kazakov
2002-02-14 20:57 ` Tucker Taft
2002-02-15 15:43   ` Dmitry A. Kazakov
replies disabled

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