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 The question is if users can define new macros in a macro, not if they can use macros in macros.

Context Explanation

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 Macros (created with #define) are always replaced as written, and can have double-evaluation problems.

Insight Material

inline on the other hand, is purely advisory - the compiler is free to ignore it. Under the C99 standard, an inline function can also have external linkage, creating a function definition which can be linked against. What are some examples of how to use #define in C#? #define //preprocessor directive What is the purpose of it? Here is an example from Microsoft which I still don't get: // preprocessor_if.cs #de...

Final Conclusion

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 ...