以不同的方式填充地图

Populating map in a different way

本文关键字:填充 地图 方式      更新时间:2023-10-16

这是填充地图的现有代码。

typedef unordered_map<std::string, SomeSet> StringToSetMap;
StringToSetMap myMap;
std::string str ("hello");
SomeSet &mySet = myMap[str]; //Map populates here

"SomeSet"是一个类型化的unordered_set。

据我所知,地图只能以这里提到的方式填充

这是如何以这种方式填充地图的?

请参阅相关下标运算符的文档。请注意,运算符的描述是它...

返回对映射到等效键的值的引用, 如果此类键尚不存在,则执行插入

另请注意:

返回值

如果没有具有键键的元素,则引用新元素的映射值 存在。否则引用现有元素的映射值 其密钥等效于密钥。

"hello"不是地图中的键,因此它入并返回对闪亮的新SomeSet对象的引用。

(注意:键要么是移动构造的,要么是复制构造的,但无论哪种方式,该值始终是默认构造的。确保您有一个默认的构造函数 SomeSet