配列の長さとしての C++ の変数

C++でC++C++配列の長さとして変数を使用することはできません。定数を使用する必要があります

配列スペースはスタック メモリに割り当てられるため、スペースのこの部分のサイズはコンパイル時に決定する必要があり、実行時に割り当てることはできません。一方、定数値はコンパイル時に決定され、変数はコンパイル時に決定する必要があります。ランタイム


したがって、変数を使用して配列の長さを宣言する場合は、ヒープ メモリ内の配列スペースを開くことを選択できます。必要なメモリ量を決定できない状況では、動的メモリ割り当てによってこの問題が解決されます

新しい新しいものを使う新しい削除削除_ _削除 _ _ _ _ _

int *a =new int[n]; //new一个数组a
memset(a,0,n*sizeof(int)) //初始化
//...
delete[] a; //删除
a=NULL;

このようにして、このメモリ部分は自分で作成され、変数を使用して配列の長さを初期化すると、メモリ空間は実行時に動的に割り当てられます。

最後のメモ:

  1. この新しい新しいものを使用した後、delete新しい配列の後に削除しますwメモリリークを防ぐため削除ます
  2. ポインタをaaにしますNULL NULLを指しますN ULL、メモリ空間をまだ指さないようにする

おすすめ

転載: blog.csdn.net/qq_73450915/article/details/130968599