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

posted @ 2020-08-29 15:48  upupon  阅读(646)  评论(0编辑  收藏  举报