c++ - Why use #define instead of a variable - Stack Overflow 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
What is the difference between #define and const? [duplicate] 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
#define macro for debug printing in C? - Stack Overflow #ifdef DEBUG #define DEBUG_TEST 1 #else #define DEBUG_TEST 0 #endif And then use DEBUG_TEST where I used DEBUG If you insist on a string literal for the format string (probably a good idea anyway), you can also introduce things like __FILE__, __LINE__ and __func__ into the output, which can improve the diagnostics:
c++ - static const vs. #define - Stack Overflow Is it better to use static const variables than #define preprocessor? Or does it maybe depend on the context? What are advantages disadvantages for each method?
Is it possible to use a if statement inside #define? As far as I know, what you're trying to do (use if statement and then return a value from a macro) isn't possible in ISO C but it is somewhat possible with statement expressions (GNU extension) Since #define s are essentially just fancy text find-and-replace, you have to be really careful about how they're expanded I've found that this works on gcc and clang by default:
c - #Define VS Variable - Stack Overflow #define WIDTH 10 is a preprocessor directive that allows you to specify a name (WIDTH) and its replacement text (10) The preprocessor parses the source file and each occurrence of the name is replaced by its associated text