回答編集履歴

1

追記

2020/03/03 09:15

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,6 +1,24 @@
1
- 回答じゃないです。気になったのでちょっと調査しました。
1
+ 気になったのでちょっと調査しました。
2
+
3
+
4
+
5
+ [集成体初期化#Character_arrays
6
+
7
+ ](https://ja.cppreference.com/w/cpp/language/aggregate_initialization#Character_arrays)
8
+
9
+ > 文字型 (char、 signed char、 unsigned char、 char8_t、 char16_t、 char32_t、 wchar_t) の配列は、適切な文字列リテラル (波括弧で囲っても構いません) から初期化できます。 文字列リテラルの連続する文字 (暗黙の終端のヌル文字を含みます) が、配列の要素を初期化します。 配列のサイズが指定されていて、それが文字列リテラルの文字数より大きい場合、残りの文字はゼロ初期化されます。
10
+
11
+
12
+
13
+ この「配列のサイズが指定されていて、それが文字列リテラルの文字数より大きい場合、残りの文字はゼロ初期化されます」が対応できてない感じです。
14
+
15
+
2
16
 
3
17
  以下の結果になったので、初期化時サイズぴったりに初期化するとOKで短いとNGな気がします。(`char`配列の場合)
18
+
19
+
20
+
21
+ 今`g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0`しか手元にないのでこれで確認。
4
22
 
5
23
 
6
24