ランダム・アクセス・イテレータを使用すると、iter + = nを実行し、!= container.end()の代わりに< container.endループ終了条件として:非ランダム・イテレータ・ストライド非ランダム・アクセス・イテレータ
#include <iostream>
#include <vector>
int main(int argc, char *argv[])
{
typedef std::vector<float> VectorType;
typedef VectorType::const_iterator IteratorType;
VectorType v;
for(unsigned int i = 0; i < 11; ++i)
{
v.push_back(i);
}
for(IteratorType iter = v.begin(); iter < v.end(); iter += 2)
{
std::cout << " " << *iter;
}
return 0;
}
しかし両方+ = 2と< iter.end()はstd ::セットのようなもののために未定義ているように見えます。他のすべての要素(サブサンプリングする)だけを訪問するだけでいいですか?これを行う別の方法がありますか?ランダムアクセスイテレータで
を試してみてください私は、 iPad上では、コードを試してみることはできませんが、非定数のイテレータを使って試したことがありますか? –