在 C++ 中为每个键创建具有任意值类型的关联数组的最佳方法是什么?
目前我的计划是创建一个“值”类,其中包含我期望类型的成员变量。例如:
class Value {
int iValue;
Value(int v) { iValue = v; }
std::string sValue;
Value(std::string v) { sValue = v; }
SomeClass *cValue;
Value(SomeClass *v) { cValue = c; }
};
std::map<std::string, Value> table;
这样做的一个缺点是您在访问“值”时必须知道类型。 IE。:
table["something"] = Value(5);
SomeClass *s = table["something"].cValue; // broken pointer
另外,Value 中放入的类型越多,数组就会变得越臃肿。
还有更好的建议吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)