2 what's happening when you define something without giving a definition? Every valid #define directive associates a macro name with a corresponding replacement list (a "definition", in your terms). An empty replacement list is allowed, and there's nothing special about that as far as the preprocessor is concerned.
How can I use #if inside #define in the C preprocessor? Ask Question Asked 15 years, 11 months ago Modified 1 year, 1 month ago
What is the point of #define in C++? I've only seen examples where it's used in place of a "magic number" but I don't see the point in just giving that value to a variable instead.
c++ - Why use #define instead of a variable - Stack Overflow
Is it possible to write a #define that defines a #define? For example:
In other words, when the compiler starts building your code, no #define statements or anything like that is left. A good way to understand what the preprocessor does to your code is to get hold of the preprocessed output and look at it.
c++ - What does ## in a #define mean? - Stack Overflow
As the title says; what's the difference in practice between the inline keyword and the #define preprocessor directive?
The #define directive is a preprocessor directive; the preprocessor replaces those macros by their body before the compiler even sees it. Think of it as an automatic search and replace of your source code. A const variable declaration declares an actual variable in the language, which you can use... well, like a real variable: take its address, pass it around, use it, cast/convert it, etc. Oh ...