回答編集履歴
1
追記
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
|
|