具有相同键类型和不同项类型的c ++映射

Saf*_*ari 1 c++ types stl key map

可能重复:
你如何制作异构boost :: map?

C + +中的地图可能与密钥和不同类型的项目具有相同的类型?例如:

 _______________________
 |    key    |   value   |
 |===========|===========|
 | string    |   int     |
 |-----------|-----------|
 | string    |   char    |
 |-----------|-----------|
 | string    |  vector   |
 |-----------|-----------|
 | string    |   ....    |
Run Code Online (Sandbox Code Playgroud)

Nim*_*Nim 6

是的,您可以存储可变参数类型,例如boost::any或(我的个人偏好boost::variant)

所以您的值类型可以定义为:

typedef boost::variant<int, char, ...> value_type;
Run Code Online (Sandbox Code Playgroud)

存储比在map,然后一旦你提取了值,使用访问者概念进行处理.


归档时间:

查看次数:

1318 次

最近记录:

14 年,5 月 前