Cal*_*ius 3 c++ containers stl
我有一个std :: set,我想通过集合中的元素对进行迭代,所以我写了2个循环,如下所示:
for(std::set<T>::iterator i=mySet.begin();i!=mySet.end();++i)
{
for(std::set<T>::iterator j=i+1;j!=mySet.end();++j)
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
编译器告诉我,我无法向迭代器添加数字.但是我可以增加和减少它们.解决方法我发现我可以跳过第一次迭代:
for(std::set<T>::iterator i=mySet.begin();i!=mySet.end();++i)
{
std::set<T>::iterator j=i;
for(++j;j!=mySet.end();++j)
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能只添加一个数字为什么我必须增加?
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |