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]