On Monday, 22 May 2017 at 13:11:15 UTC, Andrew Edwards wrote:
Sorry if this is a stupid question but it eludes me. In the
following, what is THING? What is SOME_THING?
#ifndef THING
#define THING
#endif
#ifndef SOME_THING
#define SOME_THING THING *
#endif
Is this equivalent to:
alias thing = void;
alias someThing = thing*;
Thanks,
Andrew
No, it isn't. THING is empty. Some SOME_THING is "*".
Emtpy macros are used for example to inline the functions:
#ifndef MY_INLINE
#define MY_INLINE
#endif
MY_INLINE void function()
{
}
So you can choose at compile time if you want inline the function
or not. D is here more restrictive than C, I don't know a way to
port to D.