int xs[10] = {0};
これはxsの要素がすべて0に初期化される。
int xs[10] = {};
これでもxsの要素がすべて0に初期化されるらしい。最近までこの書き方は知らなかった。。
int xs[10] = {123};
これはxsの要素がすべて123になると見せかけて、- xs[0] = 123
- xs[i] = 0, i = 1, 2, ..., 9.
となる。ということは{}の中で指定されなかった要素は0になるということかと予想してみる。
調べてみる
- curly bracketの要素数を配列のサイズより大きくすることはできない。
- curly bracketの要素数を配列のサイズより小さくすることはできる。その場合、値が指定されなかった残りの要素はデフォルト値で初期化される。
ということらしい。[1]
参考URL
[1] Curly Bracket Initialization in C++ and Java
0 件のコメント:
コメントを投稿