define #x
define fun(x) #x, 会把x扩展为字符串
如果要将x代表的变量,转为字符串,而不是把x直接转为字符串,需要做下转换。
#include <iostream> #define STR(x) #x #define MAX 100 #define STR1(x) #x #define STR2(x) STR1(x) int main() { std::cout << STR(998) << std::endl; std::cout << STR(MAX) << std::endl; std::cout << STR1(MAX) << std::endl; std::cout << STR2(MAX) << std::endl; return 0; }
output:
998
MAX
MAX
100