【发布时间】:2013-03-21 14:28:31
【问题描述】:
我可以在 C++ 中枚举 char* 类(或结构)的成员吗?如果是这样,我可以将变量名称打印为字符串吗?使用预处理器?
我有一个包含所有 const char* 成员的类。如果有一种优雅的方法来枚举每个成员变量并根据给定的字符串键检查名称作为字符串,那就太好了。
这是可以使用的那种代码?
谁能想到办法做到这一点?
class configitems {
public:
configitems() : host(0), colour(0) {}
const char* host;
const char* colour;
//... etc
};
int main() {
configitems cfg;
//cfg.colour = "red";
//receive an config item as a string. I want to check that the item is a valid one (eg is a
//variable of class configitem) and then populate it.
//eg get colour=red so want to do something like this:
if(isConfigItem("colour")) {
cfg.<colour> = "red";
}
return 0;
}
【问题讨论】:
-
不,看来您还是以错误的方式解决了问题。
标签: c++ stringification