-3

我有一个字符数组,其中依次存储了交替的键和值。什么是存储键/值对的合适容器,如何将数组的内容移动到该容器中?

4

3 回答 3

1

目前,C++ 标准建议使用以下关联容器:

  1. 有序关联容器:std::map, std::multimap, std::set,std::multiset
  2. 无序关联容器: std::unorderd_map, std::unordered_multimap, std::unordered_set,std::unordered_multiset

我认为更适合您的容器是std::mapor std::unordered_map

于 2013-11-08T14:19:31.580 回答
0

请参阅标准库地图http ://www.cplusplus.com/reference/map/map/

高级语言隐藏了它,但由于数组是原始存储格式,关联数组不是,别忘了!

于 2013-11-08T14:09:16.193 回答
0

方法一:将字符串拆分成键值字符串数组。将它们中的每一个拆分为键和值并放入地图。

方法二:逐个字符解析字符串,并跟踪解析处于什么状态:键值对之间,解析键,键值之间,解析值。当状态从解析值改变时,将最后一个键和值添加到映射。

如果键和值可以具有转义字符,则后一种方法很有用,在这种情况下,您还有更多状态,例如:在键中转义字符之后,在值中转义字符之后。

于 2013-11-08T14:14:45.413 回答