私の C++ の本には、C-Style Character Strings という 2 ページのセクションがあります (C++ プログラマーは C スタイルの文字列を使用すべきではないと 2 度言われているので、ほとんど無意味に思えます) が、私が混乱していることが 1 つあります。違いは何ですか:
char ca[] = {'C', 'a', 't'};
と
char ca[] = "cat";
最初のものについては、C スタイルの文字列は null で終了する必要があるため、「悲惨な」結果になる可能性があると述べています。しかし、2 番目のものも c スタイルの文字列ではありませんか? 「cat\0」などと入力する必要がないのはなぜですか? それもまた「悲惨な結果」につながるのではないか。