プログラムが各単語を通過する主なイテレータを持つQStringListで作業しています。ここでは、サブイテレータを特定の位置から開始するサブイテレータを実装したいと考えています。私はpkg_header+1
位置の代わりに、pkg_header.begin()
をやってから、サブイテレータスタートを作るために助けが必要、つまり特定のインデックスからQStringListイテレータを開始する方法
for(QStringList::iterator pkg_header(inputline.begin()); pkg_header != inputline.end(); ++pkg_header){
...
if(!QString::compare(*pkg_header,Computing)){
for(QStringList::iterator pkg_section(pkg_header+1; pkg_section != pkg_header.end(); pkg_section++){
...
}
}
:
は、ここに私のコードを簡単に視覚化したものです。
ありがとうございました。
for (QStringList::iterator pkg_section = pkg_header + 1;
pkg_section != inputline.end();
pkg_section ++)
...
しかし、たとえそうでなければ、あなたはいつでも行うことができます:
['std :: next'](http://en.cppreference.com/w/cpp/iterator/next)を使用できますか? – Tas
これはあなたの考えるより簡単です。参照:http://stackoverflow.com/questions/1033089/can-i-increment-an-iterator-by-just-adding-a-number – Chris