distinguish between classes and structures

Bill Baxter wbaxter at gmail.com
Mon Dec 15 00:31:21 PST 2008


2008/12/15 Weed <resume755 at mail.ru>:
> Weed пишет:
>>
>> Bill Baxter пишет:
>>>
>>> On Mon, Dec 15, 2008 at 3:35 PM, Weed <resume755 at mail.ru> wrote:
>>>>
>>>> Who can provide a link to an explanation about why in D has taken to
>>>> distinguish between classes and structures?
>>>>
>>>> (Sorry for my bad English)
>>>>
>>>
>>> The main justification is eliminating the slicing problem.
>>>
>>> http://cplusplusgems.blogspot.com/2005/10/what-is-slicing-problem-class-base.html
>>>
>>> D solves it by making it impossible to have a class instance as a value
>>> type.
>>>
>>
>>
>> Why not disallow the casting for structs, leaving the possibility of up
>> casting for the links and pointers to the structure?
>
> What is the best place for such questions?

Here is fine.  digitalmars.d might be ok too.

This seems like a question that deserves a good answer on the "rationale" page:
http://www.digitalmars.com/d/2.0/rationale.html

I was just quoting to you the justification I've heard given before.
But I'm not necessarily convinced that it's a net win for the
language.  I find that it makes things simpler in some ways and more
complicated in other ways.  But the "safety first" argument says that
if it gets one potential bug (aka slicing), then its a net win.  I'm
not so sure.

--bb


More information about the Digitalmars-d-learn mailing list