【发布时间】:2014-07-25 19:25:53
【问题描述】:
在下面的代码中,有一个Grid,其中包含points。同样,Element 和Face 也有points,但我希望它们指向points 中的points。
我应该使用智能指针还是原始指针。如果我使用智能指针,我应该使用std::unique_ptr 还是std::shared_ptr?
struct Vector3
{
vector <double> dim;
Vector3 ()
{
dim.resize(3);
}
};
struct Element
{
vector <Vector3*> points;
};
struct Face
{
vector <Vector3*> points;
};
struct Grid
{
vector <Vector3> points;
vector <Element> elms;
vector <Face> faces;
};
【问题讨论】:
-
视情况而定 >:] 例如
Grid与Element的生命周期是多少?points是否在某个时候从Grid中删除,但仍需要从Element访问?等等 -
还有,网格的矢量是否被调整大小。
-
Vector3 包含什么?
-
@dyp:
Grid可能会在程序执行过程中被删除。 -
@PeteKirkham:我从数据文件中读取了
Grid.points的大小。