整数の配列を動的に作成する必要があります。静的配列を使用する場合、構文が
int a [5]={0};
すべての要素の値を0に正しく初期化します。
次のような動的配列を作成するときに同様のことを行う方法はありますか
int* a = new int[size];
配列のすべての要素をループする必要はありませんか?または、forループを使用して値を割り当てることが、依然として最適な方法ですか?ありがとう
整数の配列を動的に作成する必要があります。静的配列を使用する場合、構文が
int a [5]={0};
すべての要素の値を0に正しく初期化します。
次のような動的配列を作成するときに同様のことを行う方法はありますか
int* a = new int[size];
配列のすべての要素をループする必要はありませんか?または、forループを使用して値を割り当てることが、依然として最適な方法ですか?ありがとう
私はします:
int* a = new int[size];
memset(a, 0, size*sizeof(int));
値で要素を初期化します()
例:
int *p = new int[10]; // block of ten uninitialized ints
int *p2 = new int[10](); // block of ten ints value initialized to 0
std::vector<int>
またはを使用することをお勧めしますstd::array<int,5>
int *a=new int[n];
memset(a, 0, n*sizeof(int));
これにより、配列のすべてのバイトが 0 に設定されます。これについてchar *
も、memset を使用できます。より正式な定義と使用法については、http://www.cplusplus.com/reference/clibrary/cstring/memset/を参照してください。