私はC ++の初心者で、Bjarne Stroustrupのプログラミング:C ++を使用した原則と実践を読んでいます。
3.9.2安全でない変換に関するセクションで、著者は言及しました
イニシャライザが整数リテラルの場合、コンパイラは実際の値をチェックし、ナローイングを意味しない値を受け入れることができます。
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
私はこの宣言に戸惑っています。2つのタイプ(int
とchar
)を使用します。私はこれまでJavaとSwift(私が比較的よく知っている2つの言語)でそのような宣言を見たことがありません。これはタイプミスですか、それとも有効なC ++構文ですか?