Joh*_*son 1 c++ iterator vector
为什么这对我来说很好:
for(int i = 0; i < vec.size(); i++)
{
os << vec[i] << " ";
}
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
for(vector<int>::iterator it = vec.begin(); it < vec.end(); it++)
{
os << vec[*it] << " ";
}
Run Code Online (Sandbox Code Playgroud)
cni*_*tar 10
您应该打印*it而不是使用它作为索引,您应该将条件更改为it != vec.end().
你使用的迭代器错了,它应该是:
for(vector<int>::iterator it = vec.begin(); it < vec.end(); it++)
{
os << *it << " ";
}
Run Code Online (Sandbox Code Playgroud)
您的代码只是尝试在索引处打印元素*it,这甚至可能无效.