何时在C++中使用指针

Mel*_*Mel 6 c++ pointers vector

我刚开始学习C++中的指针,我不太确定何时使用指针,何时使用实际对象.

例如,在我的一个赋值中,我们必须构造一个gPolyline类,其中每个点由gVector定义.现在我的gPolyline类的变量如下所示:

private:
vector<gVector3*> points;
Run Code Online (Sandbox Code Playgroud)

如果我有矢量<gVector3>点,它会有什么不同?此外,是否有使用指针的一般经验法则?提前致谢!

sth*_*sth 2

一般的经验法则是在需要时使用指针,在可以时使用值或引用。

如果您使用vector<gVector3>插入元素,则会复制这些元素,并且这些元素将不再与您插入的项目连接。当您存储指针时,向量仅引用您插入的对象。

因此,如果您希望多个向量共享相同的元素,以便元素的更改反映在所有向量中,则需要向量包含指针。如果您不需要此类功能,那么存储值通常会更好,例如,它可以让您不必担心何时删除所有这些指向的对象。