我有一个字符数组,其中依次存储了交替的键和值。什么是存储键/值对的合适容器,如何将数组的内容移动到该容器中?
问问题
112 次
3 回答
1
目前,C++ 标准建议使用以下关联容器:
- 有序关联容器:
std::map
,std::multimap
,std::set
,std::multiset
- 无序关联容器:
std::unorderd_map
,std::unordered_multimap
,std::unordered_set
,std::unordered_multiset
我认为更适合您的容器是std::map
or 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 回答