ref?

Jerry Quinn jlquinn at optonline.net
Sun Feb 15 17:41:07 PST 2009


Nick Sabalausky Wrote:

> "Jerry Quinn" <jlquinn at optonline.net> wrote in message 
> news:gn9i7n$2ujl$1 at digitalmars.com...
> >
> > Use a class when you have things that make sense to share, and use structs 
> > for when it makes more sense to have distinct copies.
> >
> 
> Couldn't that rule conflict with cases where you'd want distinct copies but 
> need features of classes that aren't available for structs (like 
> inheritance)? 

However, with reference semantics, you have no way to achieve objects laid out in a contiguous array, unless I'm missing something.

If you want inheritance, copy semantics are an issue.  For example, if you have struct A : B, and an array of B, you can't put an A in it, since there's not enough space for an A (unless A adds 0 storage).  If you have an array of A, inheritance isn't really buying you anything over having a B as the first member of A.  Any place where you'd want to use A as a B, you can get to the member B struct directly.






More information about the Digitalmars-d mailing list