iterator オブジェクトのアイデアは、C++ コンテナー クラスに同様に適用できるということだと思いました。ただし、リストオブジェクトを反復しようとすると、使用してみました
for(list<int>::iterator it = obj.begin(); it < obj.end(); it++){
// some code
}
そして、エラーが発生しました。なぜこれが機能しないのですか?なぜそれがうまくいくのvector::iterator
ですか?リストの実装が双方向のリンクされたリストであるためだけですか? イテレータ オブジェクトは、コンテナー間を移動するという概念を抽象化するので、ベクターでもリストでも同じ操作が可能になると思いました。
説明をいただければ幸いです。