language_fan wrote:
Thu, 24 Sep 2009 14:36:01 -0400, Aenigmatic thusly wrote:

No further response to any responses to my previous post's responses is
a both swift and non-invasive.

Now my deeply thought question is ...

Is typedef (in D) a C/C++ legacy or is the dear orphan now adopted as a
first-class citizen in the US of D?

-- Yours truly, Justin Johansson

Typedef works differently in D. It should create a new type, in C++ it's just a type synonym.

Exactly, it's most useful to create specialized types from primitives.

For example I declared the HANDLE type in my win32 bindings as "typedef const(void)* HANDLE;" and all its specialized types (HWND, HMONITOR, HDC, etc) are also typedefs of HANDLE, so I have very little chances of misusing them. The only downside is that I must use HWND.init instead of null, but that's just giving better readability to function calls.

This is something you just can't do in C.

Reply via email to