ここに投稿するのは初めてで、これは私を夢中にさせています! うまく説明できないので、例を挙げてみます。
非常に大きな ( 100k ) ベクトルの要素を取得して消去しようとしています。それは何年もかかるでしょう...だから私はこれを試しました:
これは私のリストの小さな例です。これは、シングルトンの Particle Emitter クラスに格納されています。
vector<Particle> particles;
particles.reserve(100);
これは私のパーティクルの削除されたバージョンです
class Particle
{
Particle:
~Particle:
void Delete
{
int listNum = (this - &particles[0]);
particles.erase(particles.begin+listNum);
}
};
これは問題なく機能しますが、すべてのパーティクルをスタックに保存したくないので、これを変更したいと思います
vector<Particle> particles;
の中へ
vector<Particle*> particles;
ここで私の質問: ベクトルが粒子ポインターで構成されている場合、リストから粒子を削除して消去することはまだ可能ですか?
私の質問が明確かどうかわかりませんが、ご理解いただければ幸いです。
または、誰かがより優れたパフォーマンスの賢明な解決策を知っている場合は、それを聞きたいです!
前もって感謝します!