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

C ++で新しい演算子を使用してメモリを初期化する方法は?


C ++の新しい演算子は、メモリを割り当て、初期化しないように定義されています。新しい演算子を使用してint型の配列を割り当て、それらすべてをデフォルト値(つまり、intの場合は0)に初期化する場合は、次の構文を使用できます-

構文
new int[10]();

空の括弧を使用する必要があることに注意してください。たとえば、(0)やその他の式を使用することはできません。そのため、これはデフォルトの初期化にのみ役立ちます。

fill_n、memsetなどを使用して同じメモリを初期化する他の方法があり、これらを使用してオブジェクトをデフォルト以外の値に初期化できます。

#include<iostream>
int main() {
   int myArray[10];
   
   // Initialize to 0 using memset
   memset( myArray, 0, 10 * sizeof( int ));    
   
   // Using a loop assigns the value 1 to each element
   std::fill_n(array, n, 1);    
}

  1. 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 サンプルコード

  2. C ++で変数を宣言する方法は?

    C ++では、宣言と定義が混同されることがよくあります。宣言とは、(Cで)型、サイズ、および関数宣言の場合は任意の変数のパラメーターの型とサイズ、またはプログラム内のユーザー定義の型または関数についてコンパイラーに通知することを意味します。宣言の場合、変数用にメモリにスペースが予約されていません。 一方、定義は、宣言が行うすべてのことに加えて、スペースがメモリに追加で予約されることを意味します。 「定義=宣言+スペース予約」と言うことができます。 以下は宣言の例です- extern int a;