在未初始化映射的情况下,将值插入到映射的映射中
Insert a value to a map of map when none of the map is initialized
我看到了一个执行以下行为的代码:
std::map<std::string, std::map<std::string, std::string>> obj;
obj["123"]["456"] = "789";
这有什么意义?第一个映射(obj["123"](不需要先初始化吗?例如:
std::map<std::string, std::map<std::string, std::string>> obj;
obj["123"] = std::map<std::string,std::string>();
obj["123"]["456"] = "789";
非常感谢!
使用[]
对映射进行"索引"时,如果找不到键,则会创建一个条目并将其插入该键的映射中。
举个例子:
obj["123"]["456"] = "789";
基本上等于
// Create an element for the key "123", and store a std::map<std::string, std::string> object for that key
obj.insert(std::pair<std::string, std::map<std::string, std::string>>("123", std::map<std::string, std::string>()));
// Create an element for the key "456" in the map obj["123"]
obj["123"].insert(std::pair<std::string, std::string>("456", "789"));
相关文章:
- 为什么映射插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- 如何编写用于多映射插入和擦除功能的 API?
- C++,映射插入&&文件流读取导致麻烦
- 多映射插入键类型信息 std::make_pair vs std::p air 构造函数
- 将一个映射插入到同一多重映射的另一个映射中会导致 SEG 错误
- 将元素插入 c++ 映射 - 插入方法的差异
- 使用boost::关联属性映射插入boost::BIMAP..失败
- STL 无序映射 - 插入到向量中
- C++在映射插入期间保证移动
- Visual Studio C++-std::映射插入失败
- C++映射插入
- 标准::映射插入/擦除的并发问题
- 不明确的映射.插入boost
- 无序映射插入复制元素
- 无序映射插入()错误
- 自定义键出现c++映射插入错误
- c++多映射插入两个以上的值
- 使用配对类型的映射插入
- 调试映射插入
- STL映射插入复制构造函数