From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Quick question regarding limited type return syntax
Date: Mon, 04 Aug 2014 20:49:06 +0300
Date: 2014-08-04T20:49:06+03:00 [thread overview]
Message-ID: <c49vcjFr5ouU1@mid.individual.net> (raw)
In-Reply-To: <Mu6dnRSFyLd97ULO4p2dnAA@giganews.com>
On 14-08-04 14:39 , Peter Chapin wrote:
> On 2014-08-04 06:42, G.B. wrote:
>
>> C++, I think, lets "this" stand for the type at the current "level"
>> during construction, so there is no dispatching to lower levels IIUC;
>> however, Stroustrup mentions some pointer tricks that let the
>> programmer circumvent the restriction.
>
> It's true that in C++ dynamic dispatch is "turned off" during the
> execution of a constructor (and destructor). This is precisely to
> prevent the use of an uninitialized object when a base subobject is
> being constructed (or destroyed). It's a feature! It seems to me that
> circumventing it would be like circumventing the type system.
It is a circumvention of the C++ type (or class) system because it has
been made so intentionally, by the logical meaning given to constructors
in the language.
> You might
> be able to do it but... it would be a big warning flag that something is
> wrong.
"Wrong" from the point of view of the C++ object philosophy, yes, but
IMO not necessarily wrong for the Ada object philosophy, where the
Initialize primitive does not have such a strong predefined meaning
(which is just what Dmitry complains about).
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2014-08-04 17:49 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-30 23:51 Quick question regarding limited type return syntax NiGHTS
2014-07-31 0:02 ` Adam Beneschan
2014-07-31 0:56 ` NiGHTS
2014-07-31 0:48 ` Shark8
2014-07-31 1:00 ` NiGHTS
2014-07-31 1:29 ` Adam Beneschan
2014-07-31 1:38 ` NiGHTS
2014-07-31 4:01 ` Shark8
2014-08-01 2:12 ` Randy Brukardt
2014-08-01 3:40 ` Shark8
2014-08-01 7:57 ` J-P. Rosen
2014-08-01 19:23 ` Randy Brukardt
2014-08-01 19:37 ` J-P. Rosen
2014-08-01 20:53 ` Shark8
2014-08-02 7:11 ` Niklas Holsti
2014-08-02 7:34 ` Dmitry A. Kazakov
2014-08-02 13:20 ` Robert A Duff
2014-08-02 13:44 ` Dmitry A. Kazakov
2014-08-02 14:34 ` Robert A Duff
2014-08-02 16:56 ` Dmitry A. Kazakov
2014-08-02 20:35 ` Niklas Holsti
2014-08-03 7:30 ` Dmitry A. Kazakov
2014-08-04 9:24 ` Niklas Holsti
2014-08-04 10:42 ` G.B.
2014-08-04 11:39 ` Peter Chapin
2014-08-04 17:49 ` Niklas Holsti [this message]
2014-08-04 11:36 ` Peter Chapin
2014-08-04 12:43 ` Dmitry A. Kazakov
2014-08-04 16:19 ` G.B.
2014-08-04 16:38 ` Dmitry A. Kazakov
2014-08-04 16:51 ` G.B.
2014-08-04 17:23 ` Dmitry A. Kazakov
2014-08-04 19:37 ` Niklas Holsti
2014-08-05 8:30 ` Dmitry A. Kazakov
2014-08-05 19:24 ` Randy Brukardt
2014-08-03 16:35 ` Robert A Duff
2014-08-02 8:02 ` Jacob Sparre Andersen
2014-08-02 19:20 ` Shark8
2014-08-03 16:07 ` Default values (Was: Quick question regarding limited type return syntax) Jacob Sparre Andersen
2014-08-04 21:29 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox