【发布时间】:2014-11-05 03:02:49
【问题描述】:
我有一个基于可变大小创建二维数组的小类。我的课程代码如下
class Treasure
{
int** board;
int size;
public:
Treasure(int boardSize)
{
board = new int* [boardSize];
for (int i = 0; i < size; i ++)
{
board[i] = new int[boardSize];
}
size = boardSize;
}
~Treasure()
{
for (int i = 0; i < size; i++)
{
delete [] board[i];
}
delete [] board;
board = NULL;
size = 0;
}
int get_value(int row, int col)
{
return board[row][col];
}
void set_value(int row, int col, int value)
{
board[row][col] = value;
}
};
我想测试我的getter,所以我只运行了一些简单的代码:
int main(int argc, const char * argv[])
{
Treasure x1(2);
cout << x1.get_value(0, 0) << endl;
return 0;
}
由于某种原因,当我运行代码时,终端窗口中只有一个闪烁的光标,并且 CPU 突然达到 100%,内存使用量在几秒钟内上升到 1.5GB。
有人知道为什么会这样吗?自从我使用C++ 以来已经有一段时间了,所以我可能只是遗漏了一些明显的东西。
【问题讨论】:
标签: c++ arrays multidimensional-array constructor