comp.lang.ada
 help / color / mirror / Atom feed
From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: proposal for new assignment operators
Date: Wed, 02 Jul 2003 14:27:13 -0400
Date: 2003-07-02T14:27:13-04:00	[thread overview]
Message-ID: <1057170433.957630@master.nyc.kbcfp.com> (raw)
In-Reply-To: <9mEMa.86824$R73.10549@sccrnsc04>

tmoran@acm.org wrote:
>   On a recent thread we were told that the usual idiom in C++ was
> to do assignment a certain way to accomplish Finalization.  "idiom"
> suggests it's up to the programmer to do it right.  When some complex
> cases were mentioned, we were told basically that the programmer
> would override assignment differently.  Personally, I prefer having
> the computer do it, and do it right, rather than having to do it
> myself, possibly making a mistaake in the process.

You probably misunderstood what you read, then. Ada's
Controlled types don't offer anything extra over C++'s
abilities. Writing your own assignment operator in C++
is similar to writing Adjust in Ada. The constructor is
similar to Initialize, and the destructor is similar to
Finalize.

There are differences. In Ada, when a Controlled object
is initialized with an aggregate, Initialize is not called.
In C++, some constructor is always called. In Ada, assignment
is done by Finalizing the target, doing a bitwise copy of a
temporary object initialized from the source (although the
temporary mayy be elided), then calling Adjust on the target.
In C++, assignment is done by invoking the assignment operator.
The default assignment operator does elementwise assignment
for each subcomponent, but a user-written one may do whatever
it deems appropriate.




  reply	other threads:[~2003-07-02 18:27 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-25  6:23 proposal for new assignment operators Russ
2003-06-25  8:49 ` Preben Randhol
2003-06-25 10:28 ` Dmitry A. Kazakov
2003-06-25 10:36   ` Lutz Donnerhacke
2003-06-25 17:49     ` Dmitry A. Kazakov
2003-06-26 10:37       ` Lutz Donnerhacke
2003-06-27  8:15         ` Dmitry A. Kazakov
2003-06-27 14:21           ` Hyman Rosen
2003-06-25 19:17   ` Russ
2003-06-25 10:39 ` Larry Kilgallen
2003-06-25 12:06   ` Preben Randhol
2003-06-25 13:40     ` Peter Hermann
2003-06-25 22:12     ` Georg Bauhaus
2003-06-26  8:03       ` Preben Randhol
2003-06-26  8:25         ` Vinzent Hoefler
2003-06-26 15:02       ` Stephen Leake
2003-06-26 17:54         ` Georg Bauhaus
2003-06-26 18:32           ` Stephen Leake
2003-06-27 13:21             ` Georg Bauhaus
2003-06-26 16:32       ` Preben Randhol
2003-06-26 17:41         ` Georg Bauhaus
2003-06-26 17:58           ` Preben Randhol
2003-06-26  2:36     ` Steve
2003-06-26  2:33   ` Russ
2003-06-26 23:02     ` John R. Strohm
2003-06-25 14:07 ` Frank J. Lhota
2003-06-25 16:27   ` Warren W. Gay VE3WWG
2003-06-26  3:09     ` Russ
2003-06-26  6:27       ` Vinzent Hoefler
2003-06-26 10:49       ` Larry Kilgallen
2003-06-26 18:08         ` Russ
2003-06-26 18:19           ` Preben Randhol
2003-06-26 18:45           ` Larry Kilgallen
2003-07-02 15:57             ` Kevin Cline
2003-07-02 17:10               ` tmoran
2003-07-02 18:27                 ` Hyman Rosen [this message]
2003-07-02 20:20                   ` tmoran
2003-07-03  1:48               ` Richard Riehle
2003-07-03  3:07                 ` Hyman Rosen
2003-07-03  5:12                   ` Randy Brukardt
2003-07-03 13:03                     ` Hyman Rosen
2003-07-03 14:46                   ` Stephen Leake
2003-07-04  1:17                   ` James Rogers
2003-07-07  4:29                     ` Hyman Rosen
2003-07-08  1:10                       ` James Rogers
2003-07-08 13:59                         ` Hyman Rosen
2003-07-09  0:12                           ` James Rogers
2003-07-09  3:00                             ` Hyman Rosen
2003-07-07 15:36                 ` Matthew Heaney
2003-07-14  1:39                   ` Richard Riehle
2003-07-14  2:54                     ` Hyman Rosen
2003-07-16  3:14                       ` Richard Riehle
2003-06-27 13:34       ` Georg Bauhaus
2003-06-27 23:12         ` Russ
2003-06-27 23:21           ` Larry Kilgallen
2003-06-28 18:51             ` Russ
2003-06-27 18:02       ` Warren W. Gay VE3WWG
2003-06-28  3:50         ` Russ
2003-06-30 15:58           ` Warren W. Gay VE3WWG
2003-06-25 19:44 ` Bill Findlay
2003-06-26  2:06   ` Russ
2003-06-26  2:33     ` Bill Findlay
2003-06-26  5:54     ` Karel Miklav
2003-06-26 12:17     ` Georg Bauhaus
2003-06-26 12:52     ` Joseph Dalton
2003-06-26 18:11     ` Frank J. Lhota
  -- strict thread matches above, loose matches on Subject: below --
2003-06-27  5:35 christoph.grein
2003-06-27  9:57 ` Preben Randhol
2003-06-27 14:11 ` Georg Bauhaus
replies disabled

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