C++ 中 delete[] “如何”知道運算元陣列的大小


新運算子用於動態記憶體分配,該分配將變數放在堆記憶體上。Delete[] 運算子用於取消分配堆中的記憶體。New 運算子儲存它在主塊中建立的元素數,以便 delete [] 可使用該數字取消分配記憶體。

示例程式碼

 即時演示

#include <iostream>
using namespace std;
int main() {
   int B = 4;
   int A = 5;
   int** a = new int*[B];
   for(int i = 0; i < B; ++i)
      a[i] = new int[A];
   for(int i = 0; i < B; ++i)
      for(int j = 0; j < A; ++j)
         a[i][j] = i;
   for(int i = 0; i < B; ++i)
      for(int j = 0; j < A; ++j)
         cout << a[i][j] << "\n";
   for(int i = 0; i < A; ++i)
      delete [] a[i];
      delete [] a;
   return 0;
}

輸出

0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3

更新於:30-Jul-2019

697 次觀看

開啟你的職業生涯

完成該課程以獲得認證

立即開始
廣告
© . All rights reserved.