ブースト共有ポインターのベクトルを使用しました
class Example{
vector<boost::shared_ptr<Point3f> > vec1;
vector<boost::shared_ptr<Point3f> > vec2;
vector<boost::shared_ptr<Point3f> > vec3;
};
point3f は 3 つの float を持つ構造体で、vec1、vec2、vec3 で 50000 要素を push_back します。それは完全に正常に動作します。しかし、この種のベクターを使用すると、このクラスの破壊時間が長くなります。私が考えることができる可能な説明は、ベクトルオブジェクトが破棄されるたびに、ベクトル内の各オブジェクトに対してデストラクタが呼び出されるということです。それで、それは破壊を遅くしていますか?
C スタイルの malloc と free または C++ スタイルの new と delete を使用してメモリを管理する必要がありますか?