c++中的map函数问题,求高手解答我的疑惑

2024-12-27 05:26:47
推荐回答(1个)
回答1:

你应该说的是:

map  q;

map的[]取值,有一个特性,对于上面的q来说,

q[i]++;

找不到对应的关键值i时,它首先会执行

q[i] = 初始值;

其中,初始值对int、double一类的系统预定义类型,是取0,对于类,是直接调用无参构造函数。比如上面的实际执行效果为:

q[i] = 0;

然后,才会执行

q[i]++;

这一句。

以后再执行同样i值的上面这一句时,就不会再次赋初值了。

整个输入数据中,Andy一共在4行中出现,排除重复的一行,一共出现3次,故Andy最后的朋友数为3。