同じタイプの質問を探しましたが、私の質問 (実存的な質問) に対する答えが見つかりませんでした: リスト内のオブジェクトを制御するには、どのタイプのフックを選択する必要がありますか? ポインターとイテレーターの間で迷っています。
コンテナは最初にいっぱいになり、その後サイズを変更するべきではありません。フックは、ユーザーの気まぐれでオブジェクトを切り替え、アルゴリズムで 1 つの変数のみを操作するために使用する方法です。
いずれの場合も、イテレータを調べて、フックする適切なオブジェクトを見つける必要があります。しかし、どれがベストプラクティス/使用ですか?
// 10 object list
std::list <Object> List(10);
std::list <Object>::iterator it = List.begin();
Object *pt = NULL;
// Select the 3rd object
advance(it, 3);
pt = &(*it);
// Access to object member...
it->member;
pt->member;
ポインターは、イテレーターとは異なり、近隣へのアクセスを許可しませんが、安全でない可能性があります。ベストプラクティスは何ですか?