所以,我有這個代碼,我試圖在最後釋放數組ppint
。我曾嘗試在Xcode中使用泄漏來確定它是否正常工作,但我不太明白。將這樣做的工作?拆分動態分配的多維數組。
delete ppint[0];
delete ppint[1];
delete ppint[2];
delete ppint[3];
或者還有其他的事情必須完成嗎?
#include <iostream>
#include <string>
#include <unistd.h>
using namespace std;
int main()
{
int **ppint;
ppint = new int * [4];
for(int i = 0; i < 4; i++) {
ppint [i] = new int[4];
} // declares second layer of arrays
for(int i = 0, count = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
count++;
ppint [i] [j] = count;
} //init part 2
} // init array
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
cout << ppint [i] [j] << endl;
} // print part 2
} //print array
}
任何特殊原因不使用std :: vector>? –
piokuc
2013-02-18 20:53:53
@piokuc我正在寫一本書,說這樣做,只有真正的原因,除了我沒有使用過的矢量。 – MarJamRob 2013-02-18 20:54:57
記住:每個'new'都應該有一個相應的'delete',每個'new''都應該有一個相應的'delete []'。 – Cameron 2013-02-18 20:55:40