假设我有以下功能:
bool canConstruct(string ransomNote, string magazine) {
unordered_map<char, int> map(26);
for (int i = 0; i < magazine.size(); ++i)
++map[magazine[i]];
for (int j = 0; j < ransomNote.size(); ++j)
if (--map[ransomNote[j]] < 0)
return false;
return true;
}
现在假设ransomNote
有一个地图中不存在的元素,我通过阅读文档和问题来理解:
What happens if I read a map's value where the key does not exist?
构造具有值' '
的新默认密钥。现在,在第二个for循环中引用键时,如何将值初始化为零?
与密钥对应的值的变化如何发生?
是否有相同的文档?
答案 0 :(得分:3)
答案 1 :(得分:3)
如果您阅读例如this operator[]
reference您将看到它基本上将数据元素创建为T()
。这称为value initialization,对于像char
这样的整数类型,它意味着它将被初始化为零。