何时对对象使用 new,何时使用指针
When to use new for an object and when to use pointers?
例如,我有一个以这种方式声明的向量:
vector<Shapes> *ShapeVector;
如果我想拥有一个形状对象,并且能够访问不同大小的不同形状,是否需要声明"新"?那么指针呢?
对我来说,指针指向要访问的不同地址。那么,我还需要指针吗?
到目前为止,我执行了以下代码来创建我的对象,并在其中存储数组。之后,我计划将对象存储到向量本身中。
int tempx[100],tempy[100];
for (int i = 0; i < 4;i ++)
{
cout << "Enter x-coordinate of pt " << i << ":" << endl;
cin >> tempx[i];
cout << "Enter y-coordinate of pt " << i << ":" << endl;
cin >> tempy[i];
Square mysquare = new Square(tempx,tempy);
不确定它是否正确,不确定何时使用"new"以及何时使用指针。
你可以简单地使用 std::vector<Shapes> my_vector
,没有指针。矢量对象将在堆栈上分配,其内容在堆上。您将拥有的优势是 Shape 对象将连续放置在内存中。
相关文章:
- 何时返回指针与返回对象的一般经验法则?
- 何时使函数成为类成员函数C++?
- __unaligned说明符何时与指针一起使用?
- c++:何时传递指针与返回对象
- C 何时将指针用于向量
- 排序阵列会使指针链接错误
- C++ ->尝试逐字阅读一行文本。如何使指针等效于用于存储输入的当前二维数组
- 调整窗口内存映射文件的大小,而不会使指针失效
- 为什么或何时用指针声明int
- 使指针类型围绕其最大值
- 使指针的中间;它有效吗?
- 如何使指针指向模板化成员函数的专用变体
- 使指针常量C++
- 使指针全局C++
- 何时对对象使用 new,何时使用指针
- 如何以及何时复制指针
- 是否可以在不使指针无效的情况下调整/重新分配大块内存
- 使指针指向数组c++的开头
- 警告:指针和整型之间的比较,传递' read '的参数1使指针的整型没有强制转换
- 如何使指针指向指针NULL