d future or plans for d3
Froglegs
lugtug at gmail.com
Tue Dec 20 03:17:31 PST 2011
> The class will still have a vptr. The vtable will contain only
> the type info.
No way to disable type info(like in most C++ compilers you can
disable RTTI)? I get that GC might want it, but if I disable GC
why would I want type info?
I saw that D is planning to make the standard containers into
classes with final methods, why do this instead of using structs
if it bloats each instance of the container?
> Some aspects of D will _always_ require a GC or they won't
> work. Array concatenation would be a prime example. I believe
> that delegates are another major example. I think that scoped
> delegates avoid the problem, but any that require closures do
> not. Other things be done but become risky - e.g. slicing
> arrays (the GC normally owns the memory such that all dynamic
> arrays are slices and none of them own their memory, so slicing
> manually managed memory gets dicey).
The array concatenation requiring GC I get, but why does a
delegate require it?
This link says D allocates closures on the heap
http://en.wikipedia.org/wiki/Anonymous_function#D
I don't really get why, C++ lambda works well(aside from broken
lack of template lambda's) and do not require heap usage, even
binding it to std::function can generally avoid it if it doesn't
exceed the SBO size
More information about the Digitalmars-d
mailing list