Any plans to support STL value types?
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Fri May 15 12:44:28 PDT 2015
On Friday, 15 May 2015 at 18:42:31 UTC, Kagamin wrote:
> Many STL types inherit from base classes, yet they are used as
> value types: std::string, std::vector etc. Are there plans to
> support C++ types with inheritance as proper value types in D
> frontend?
Given that the inheritance they have is actually undesirable when
they are treated as value types, I doubt that there's much need.
If you're using inheritance in C++, you're putting your class on
the heap and accessing it via pointers, in which case, accessing
them in D as classes makes sense. And if you're using these STL
types as value types on the stack, then they can be treated as
value types. Doing otherwise just risks object slicing, which is
not desirable in the least.
So, while I don't know how we're going to be handling STL types
(I don't even know what the current state of C++ state support
is, since it keeps improving), I really don't see why there's
value in supported inheritance with value types. It would just be
begging for bugs - which is why native D types don't support it.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list