记录: 迭代器不能作为数组下标
for (auto j = A.begin(); j != A.end(); ++j)
{
cout << A[j]<< " ";
}
上面这种是错误的,因为j的类型是iterator,而数组的下标必须是整常型,或者字符(会默认转为对应ASCII值)
for (auto i : A)
{
//范围for得到的是int值
cout << i << " ";
//cout << *i << " "; //错误的
}
另外,范围for支持STL里的所有容器,并且范围for得到的直接是容器里面的值
CSDN博客搬运 文章被收录于专栏
CSDN博客搬运