Quote Originally Posted by GCDEF
What are you basing that on?
I do not know about Russco, but Scott Meyers' Effective C++, Third Edition Item #2 is titled "Prefer consts, enums, and inlines to #defines." The main relevant point is that since the macro name "may be removed by the preprocessor before the source code ever gets to a compiler", it "may not get entered into the symbol table", which in turn "can be confusing if you get an error during compilation involving the use of the constant, because the error message may refer to (the literal) not (the symbolic name)".