我可以char*
在 C++ 中枚举类(或结构)的成员吗?如果是这样,我可以将变量名称打印为字符串吗?使用预处理器?
我有一个包含所有 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;
}