回答
See the docs对于所述下标运算符。需要注意的是运营商的描述是,它...
执行插入返回映射到一个等价键,键的值, 参考,如果这样的键不存在
还要注意:
返回值
参考到映射的值o f如果不存在具有密钥键 的元素,则为新元素。否则,对现有元素 的映射值的引用,其键值等于密钥。
“你好”是不是在你的地图上的一个关键,所以它被插入和一个闪亮的新SomeSet
对象的引用返回给您。
(注:关键是上移,建造或拷贝构造,但无论哪种方式的值总是默认构造确保您有一个默认的构造函数SomeSet
!)
值得指出的是,插入的元素将是默认构造的,因此只有在您的映射为具有默认构造函数的类型时才能使用下标运算符。 –
@ scohe001因此,我也可以先填充mySet,然后执行'myMap [str] = mySet'。那是对的吗? – ontherocks
@ontherocks当然。 'myMap [str]'返回一个对新的'SomeSet'对象的引用,然后你将它设置为等于某个东西。它相当于'SomeSet&thing = myMap [str]; thing = mySet;' – scohe001
什么的问题的答案你链接到这里发生了什么不清楚? – NathanOliver