【发布时间】:2016-12-06 19:05:36
【问题描述】:
IntArray::IntArray (int *array, int sz)
{
_size = sz;
int ia = new int[_size];
for (int ix=0; ix<_size; ++ix)
ia[ix] = array[ix];
}
您好,我目前正在学习由 Stanley Lipmann 为初学者编写的 C++,并且我正在通过类帮助创建抽象数组。有人可以解释一下这段代码的作用吗?根据我的猜测,它将“sz”值(来自类外)分配给“_size”,然后我们创建“ia”动态数组,毕竟它将“array”指针(类外)的值分配给“ia “ 大批。谢谢:D
【问题讨论】:
-
是的,你的理解是正确的。我建议不要使用
int作为数组大小的类型。 -
它只是泄漏内存
-
@t.m.,不,只要代码不会泄漏任何内存。
-
@t.m.除非他在析构函数中使用
delete[] ia(或使用向量)。 -
克隆一个数组?