D Tutorial / Starting With D / Compiler / DMD /
FAQ
Difference (last change) (no other diffs, normal page display)
Added: 7a8
* [[link]Shared [url=![]() |
Other FAQs:
- Official FAQ
D 1.x,
D 2.x (Alpha) DocComments/FAQ
MKoD FAQ
- General Development
- Porting
- Error Messages
- Shared
![]() |
|
Compiler questions
-release flag
-release eliminates assertion tests explicit:
assert (x);and implicit:
// if -release is not given, this checks that y is in bounds for x. x [y] = z;-release essentially turns all runtime safety controls off. I don't recommend it - if your program goes bad, it'll be very difficult to find out where and why. Array-using code is impacted by the checks, but you can get around that safely in inner loops by using pointers. [Burton Radon, Sep04]
Virtual function table pointer
If there are no virtual functions left in a class, does the VFT pointer go away? [Bill Cox, Jan 03]
No, it's always there, both because it inherits from Object which has virtual functions, and because many features rely on the first entry in the VFT being a pointer to the ClassInfo. [Walter Bright]