Mel*_*Mel 6 c++ pointers vector
我刚开始学习C++中的指针,我不太确定何时使用指针,何时使用实际对象.
例如,在我的一个赋值中,我们必须构造一个gPolyline类,其中每个点由gVector定义.现在我的gPolyline类的变量如下所示:
private:
vector<gVector3*> points;
Run Code Online (Sandbox Code Playgroud)
如果我有矢量<gVector3>点,它会有什么不同?此外,是否有使用指针的一般经验法则?提前致谢!
一般的经验法则是在需要时使用指针,在可以时使用值或引用。
如果您使用vector<gVector3>插入元素,则会复制这些元素,并且这些元素将不再与您插入的项目连接。当您存储指针时,向量仅引用您插入的对象。
因此,如果您希望多个向量共享相同的元素,以便元素的更改反映在所有向量中,则需要向量包含指针。如果您不需要此类功能,那么存储值通常会更好,例如,它可以让您不必担心何时删除所有这些指向的对象。
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |