C++将变量名转换为字符串

如何将变量名转换为字符串,这就用到了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;
}

版权声明:本文为qq_33670157原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。