可能在C ++中有一个地图,键和相同类型的项目具有相同的类型? 例如:
_______________________
| key | value |
|===========|===========|
| string | int |
|-----------|-----------|
| string | char |
|-----------|-----------|
| string | vector |
|-----------|-----------|
| string | .... |
答案 0 :(得分:6)
是的,您可以存储可变参数类型,例如boost::any
或(我的个人偏好,boost::variant
)
因此您的值类型可以定义为:
typedef boost::variant<int, char, ...> value_type;
存储而不是map
,然后在提取值后,使用访问者概念进行处理。
答案 1 :(得分:0)
我不确定你为什么要这样做,但你可以使用map<std::string, boost::any>
我相信。
你真正尝试做什么?