Vtable for virtual functions in D

Henrik henrik at nothing.com
Wed Mar 7 21:14:12 UTC 2018


Hi everyone,

thank you all for your great answers. I'm playing around with 
@nogc right now, and it looks really promising. Strings and 
static arrays all seem to be located on the stack, which is so 
much better compared to std::string and std::vector in C++. The 
double indirection for virtual functions bother me, and it isn't 
getting better with all methods being virtual by default - I 
guess I'll be writing the keyword "final" very intensively in all 
my programs. I would also gladly pay some bytes in pointer bloat 
to have my virtual functions speed up. Strange that D kept the 
vtable approach when breaking with C++.

I know that D concentrated much on C++ compatibility a while ago. 
Are there any plans to support the direct inclusion on C header 
files? Many important libraries like ICU have C interfaces even 
when written in C++. The direct support of C headers would be 
very convenient in migrating parts of C/C++ projects to D. It 
would also open up POSIX which is used extensively in our work.

This looks great:
https://github.com/D-Programming-Deimos/
but it must be tedious to keep such files up to date.

Despite the point where I'm complaining, I must say that D looks 
very impressive. Beautiful syntax, large standard library, and 
standardized inline assembler (Thank you!). I'll definitely try 
to find a suitable project to try out D under serious conditions.



More information about the Digitalmars-d mailing list