$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (dave_at_[hidden])
Date: 2005-02-18 10:29:47
"Fernando Cacciola" <fernando_cacciola_at_[hidden]> writes:
> "David Abrahams" <dave_at_[hidden]> escribió en el mensaje 
> news:umzu3t5yn.fsf_at_boost-consulting.com...
>> "Fernando Cacciola" <fernando_cacciola_at_[hidden]> writes:
>>
>>> Or to put it another way, if a class is so broken as to support a 
>>> reasonable
>>> copy-constructor (which is a current requirement), but not assignment, 
>>> then
>>> I'm probably doing him/her a favor by breaking it :-)
>>
>> ?? Any immutable or const type should fit that description.
>>
> A const type is not a class. A class by itself would support proper 
> assignment even if you can't use it on a const lvalue.
>
> IOW, if you have a proper copy ctor you must have a proper assignment 
> operator. 
I don't follow.  I can build a type that can't be mutated through
assignment, yet can be copied.  It seems like a thoroughly coherent
design to me.  You're saying it's invalid?
> Or are you referring to classes which do implement operator=() but 
> purposedly to do something semantically different than to yield two 
> equivalent objects in the exact same way a copy-ctor will produce them?
No; that _is_ abominable.
-- Dave Abrahams Boost Consulting www.boost-consulting.com