我有一个指向整数数组的指针数组。我已经制作了一个硬编码的整数数组(检查下面的“数组”),我想将它插入到指针数组中(检查下面的“栏”),据我所知,它仍然是一个指针数组指向整数数组。
它编译得很好;没有警告。它运行良好;并关闭罚款;至少,我在析构函数中引入了当前被注释掉的删除语句。
我想我的编译器此时会成为一个更好的析构函数,但我对我做错了什么感兴趣。终端窗口只是抛出一个巨大的内存映射;谷歌搜索和搜索 SO 并没有太大帮助。
class foo {
public:
int **bar;
int aSize;
//CONSTRUCTOR
foo(int aSize) {
this->aSize = aSize;
bar = new int*[aSize];
for (int i=0;i<aSize;i++) {
bar[i] = new int[aSize + i];
for (int j=0;j<(aSize + i);j++) {
bar[i][j] = 0;
}
}
}
void myfunc(int *pointer) {
bar[0] = pointer;
}
~foo() {
for (int i=0;i<aSize;i++) {
//delete[] bar[i];
}
delete[] bar;
}
};
int main() {
foo *obj = new foo(5);
int array[] = {1,2,3,4};
obj->myfunc(array);
delete obj;
return 0;
};
我知道我可能做了一些悲剧性的事情;我只是还不知道它是什么。我不使用 STL 或其他模板是有原因的,只是因为我有兴趣学习这个。最大的批评赞赏。