私の C++ プロジェクトには、Trap というクラスがあります。トラップは NPC であり、NPC はエンティティです。今、私はすべての NPC をループして、それらを処理したいと考えています。たとえば、トラップを更新したいとします。私は次の方法でそれを行います。
for (vector<NPC>::iterator it = Enemies.begin(); it != Enemies.end(); ++it) {
it->Update();
}
しかし今、Update() 呼び出しは NPC::Update() メソッドを呼び出しています。
これは、イテレータの使用方法が原因であると確信していますが、これをより適切に行う方法がわかりません。別の種類の反復を使用しますか? これには簡単なトリックがありますか?