gpt4 book ai didi

具有任意类型值的 C++ 关联数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:35:14 25 4
gpt4 key购买 nike

在 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;

这样做的缺点是您在访问“值”时必须知道类型。即:

table["something"] = Value(5);
SomeClass *s = table["something"].cValue; // broken pointer

此外,放入 Value 中的类型越多,数组就会越臃肿。

有更好的建议吗?

最佳答案

boost::variant似乎正是您要找的东西。

关于具有任意类型值的 C++ 关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com