你应该说的是:
mapq;
map的[]取值,有一个特性,对于上面的q来说,
q[i]++;
找不到对应的关键值i时,它首先会执行
q[i] = 初始值;
其中,初始值对int、double一类的系统预定义类型,是取0,对于类,是直接调用无参构造函数。比如上面的实际执行效果为:
q[i] = 0;
然后,才会执行
q[i]++;
这一句。
以后再执行同样i值的上面这一句时,就不会再次赋初值了。
整个输入数据中,Andy一共在4行中出现,排除重复的一行,一共出现3次,故Andy最后的朋友数为3。