SpreadsheetCell* firstCell = new SpreadsheetCell(22);
delete firstCell;
这时释放内存是用 delete
另一个定义是:
mCells = new SpreadsheetCell* [mWidth];
for (i = 0; i < mWidth; i++)
{
mCells[i] = new SpreadsheetCell [mHeight];
}
内存的释放是:
for (i = 0; i < mWidth; i++)
{
delete[] mCells[i];
}
delete[] mCells;
这里释放内存是用delete[],有点疑惑,网上的解答是:
·如果使用 new[]为数组分配内存,则应使用delete[]来释放。
·如果使用 new[]为一个实体分配内存,则应使用delete(没有方括号)来释放。
不是很理解,记下来先。