首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么把一个字符串变量的内容,设为变量名字本身

2013-04-26 
如何把一个字符串变量的内容,设为变量名字本身?例如,下面的方法是可以的:const char* abc abcconst c

如何把一个字符串变量的内容,设为变量名字本身?
例如,下面的方法是可以的:

const char* abc = "abc";
const char* xyz = "xyz";
const char* a1 = "a1";


但我想知道,编译器有没有类似功能的替代,例如:

const char* abc = 某个预编译指令;
const char* xyz = 某个预编译指令;
const char* a1 = 某个预编译指令;


反正,我想确保abc指向的是"abc",xyz指向的是是"xyz",a1指向的是"a1"
[解决办法]


#define DECLARE_STRING(xxx) const char* xxx = ""#xxx""

void test
{
DECLARE_STRING(abc);
DECLARE_STRING(xyz);
DECLARE_STRING(a1);
cout << abc << endl;
cout << xyz << endl;
cout << a1 << endl;
}


[解决办法]
引用:
假设是下面的情况呢?又有什么好方法?

class ABC
{
……
static const char* abc;
……
};

const char* ABC:abc = "abc";


DECLARE_STRING(XXX, xxx) const char* XXX::xxx = #xxx
DECLARE_STRING(ABC, abc);

热点排行