【发布时间】:2014-12-18 13:49:49
【问题描述】:
我有一个构造函数,它用 r 行和 c 列创建并清空 A
A::A(int r, int c)
: row(r), column(c), e(new int[r*c])
{
for (int i = 0; i < r*c; i++)
{
e[i] = 0;
}
}
我想知道内存分配是否会失败,它仍然会用非零值初始化行和列。如何预防?
【问题讨论】:
-
去了有关系吗?将引发异常,并且到目前为止构建的所有内容都将被销毁。
-
@AlanStokes 我猜这是 OP 的问题。 OP 不知道
new会引发失败。 -
反正循环是没有必要的,做
new int[r*c]()也会有同样的效果
标签: c++ arrays multidimensional-array constructor