[OT] #define
Eugene Wissner via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon May 22 06:18:51 PDT 2017
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.
More information about the Digitalmars-d-learn
mailing list