【发布时间】:2015-11-02 12:09:24
【问题描述】:
有没有办法可以写这个for循环
vector<int> vec{1,2,3,4,5,6};
for (int i=0; i<vec.size(); ++i)
float result = vec[i]-vec[(i+1)%vec.size()];//Subtract vec[0] from vec[5] in last iteration.
在带有迭代器的版本中?因此,像这样:
vector<int> vec{1,2,3,4,5,6};
for (vector<int>::iterator it=vec.begin(); it!=vec.end(); ++it)
float result = *it - *((it+1)%vec.size());
【问题讨论】:
-
it + 1 == vec.end() ? vec.begin() : it + 1