0

假设我想构造一个std::unordered_map<char, int>来映射字符串中字符的频率。我会做类似的事情

char* myString;
std::unordered_map<char, int> hashmap;
for(char* pch = myString; *pch !=0 ; pch++)
{
     hashmap[*pch]++;
}

对我来说,这感觉很危险,因为我怎么知道hashmap[*pch]++会在从 0 开始的 hashmap 条目的值中构造一个整数?我在哪里可以找到此保证(如果存在)?

4

1 回答 1

1

至少如果您按照 Praetorian 提到的指向值初始化的链接,语言和标准库的通常参考会涵盖这一点。另请参阅std::map 中原始类型的值是否已初始化?(答案是一样的)。

于 2018-01-23T05:50:52.027 回答