如何将变量名转换为字符串,这就用到了define
中的特殊标识符
- ##是简单的连接符,#@用来给参数加单引号,#用来给参数加双引号即转成字符串。
#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x
int a=Conn(12,34);
char b=ToChar(a);
char c[]=ToString(a);
//结果是 a=1234,c='a',c='1234';
使用#这个特殊标识符就可以了,如下:
#include <iostream>
#include <vector>
#define toStr(name) (#name)
using namespace std;
int main()
{
int temp = 10;
string str = toStr(temp);
cout << str.c_str() << endl;//temp
system("pause");
return 0;
}