我使用了一个 boost 共享指针向量
class Example{
vector<boost::shared_ptr<Point3f> > vec1;
vector<boost::shared_ptr<Point3f> > vec2;
vector<boost::shared_ptr<Point3f> > vec3;
};
point3f 是具有 3 个浮点数的结构,我在 vec1、vec2、vec3 中 push_back 50000 个元素。它工作得很好。但是这种向量的使用增加了这个类的销毁时间。我能想到的一个可能的解释是,每当向量对象被销毁时,对于向量内的每个对象,都会调用析构函数。那么是不是让破坏变慢了呢?
我应该使用 C 风格的 malloc 和 free 还是 C++ 风格的 new 和 delete 来管理内存?