C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

delete []は、C++でオペランド配列のサイズをどのように「認識」しますか


新しい演算子は、ヒープメモリに変数を配置する動的メモリ割り当てに使用されます。 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

  1. C ++を使用してOpenCVで色を追跡する方法は?

    カラートラッキングは、カラー検出に似ています。追跡の目的で、検出されたオブジェクトの領域を計算するために数行を追加し、その領域の現在の位置を追跡し、最後にOpenCVのline()関数を使用してオブジェクトの移動経路を表示しました。 次のプログラムは、C++を使用してOpenCVで色を追跡する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using

  2. newを使用してC++で2D配列を宣言するにはどうすればよいですか

    動的2D配列は、基本的に配列へのポインターの配列です。これは、寸法が3x4の2D配列の図です。 アルゴリズム Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print the array.    Clear the memory by deleting it. End サンプルコード