C++ map do plus plus没有初始化

Yut*_*ing 2 c++

map<int, int> mp;
Run Code Online (Sandbox Code Playgroud)

我可以理解以下代码:

mp[1] = 1;
mp[2] = 2;
Run Code Online (Sandbox Code Playgroud)

但这有什么意义呢?

mp[3]++;
Run Code Online (Sandbox Code Playgroud)

没有设置mp[3] = n;(n可以是整数).

asc*_*ler 7

mapoperator[]引用不存在的元素,它由值初始化该条目添加元素.因为int,值初始化意味着初始化为零.因此mp[3]++,如果密钥3尚不存在,则最终将关联值设置为1.