So when looking into getting my define macro to work, I found the #
and ##
macro helpers, and used them to simplify my macro. The key part of the macro sets a variable to a string containing the name of the variable (but not the variable name alone). As a simplified example, let's take a macro called SET(X)
that should expand SET(something)
into something = "pre_something"
.
The only way I've found to do it so far is with two macros like #define QUOTE(X) #X
and #define SET(X) X = QUOTE(pre_##X)
. However, using multiple macros seems excessive, and may cause problems with further macro expansion (I think). Is there a cleaner, one-line way of doing the same thing?