元素在地图中看起来像,但它不在地图中

时间:2015-10-12 10:17:25

标签: c++ stdmap

我有以下代码片段:

map<string, map<string,size_t> >  occurence_counts;
.... initialize map from a file....
for(const auto & a: occurence_counts)
     cout << a.first   << "\n";

cout << occurence_counts.count("sam") << "\n";

输出是:

sam
jake
cate
0

什么?当我输出键时,“sam”就在那里,但“sam”的数量是0?任何人都可以帮我理解吗?当我执行occurence_counts [“sam”]时,它也不会返回任何内容。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果您打印每个键的组件字符,作为十六进制对,那么您可以看到实际存储的是什么。当你只是以人类可读的形式输出字符串时,你会掩盖尾随的空格和其他明显存在的异常情况。