STL std :: map operator []在赋值的右侧

kev*_*hms 2 c++ stl

我知道地图取消引用operator[]不是const,可以修改地图.但是,我想知道当操作员在右侧时会发生什么.例如:

std::map<int, int> a;
int b = a[0];
Run Code Online (Sandbox Code Playgroud)

既然a没有0条目,这会在地图上用密钥创建一个新条目0吗?

Wea*_*ish 6

关于operator[]:

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

这里开始,强调我的.

这也很容易测试.

std::map<int, int> a;
std::cout << a.size(); //0
int b = a[0];
std::cout << a.size(); //1
Run Code Online (Sandbox Code Playgroud)

实例:http://ideone.com/z7PIRx