我有這樣的結構:C++使用刪除與浮標陣的結構體的二維矢量
struct foo {
int a,b,c;
float d;
float *array1;
float *array;
};
現在我用這個結構爲8×8的二維矢量就像這樣:
vector< vector<foo> > bar(8);
for (int i = 0; i < 8; i++)
bar[i].resize(8);
在我的計劃,「酒吧」現在充滿了數據,例如:
bar[1][5].array1 = new float[256];
bar[1][5].array2 = new float[256];
// Et cetera.
我怎樣才能使所使用的內存正確嗎?
我試過一個for循環的釋放每float數組是這樣的:
delete [] bar[i][j].array1;
但是,這將導致在運行時堆例外。
如果你的數組總是有256個元素,你應該考慮以這種方式聲明它們:'''''''''''float array1 [256]; float [256] array2;' – pyon 2011-03-23 22:36:33