我现在很困惑。我正在研究一个使用重载的学校项目。我有一个构造函数,它有两个参数,一个int数组的较低索引和较高索引。这是构造函数:
IntArray::IntArray(int lower, int upper){
arrLower = lower;
arrUpper = upper;
// Creates array size
size = arrUpper - arrLower;
operator[](size);
}
当我的程序通过此函数到达此测试点时:
void test2() {
cout << "2. Array declared with two integers: IntArray b(-3, 6);" << endl << endl;
csis << "2. Array declared with two integers: IntArray b(-3, 6);" << endl << endl;
IntArray b(-3, 6);
//cout << b.low() << " " << b.high();
for(int i = b.low(); i <= b.high(); i++)
b[i] = i * 10;
b.setName("b");
cout << b << endl;
csis << b << endl;
wait();
}
它抓住并利用我所有的CPU功率。 low()
和high()
函数只返回arrLower
和arrUpper
。我不明白的是,如果我添加
cout << b.low() << " " << b.high() << endl;
构造函数调用后。
为什么添加cout语句可以解决我的问题?我没有正确管理记忆吗?
如果您想查看它,请参阅完整的WIP程序。这不是一个长镜头。