我是一名C++初学者,正在阅读Bjarne Stroustrup的《Programming: Principles and Practice Using C++》。
在“3.9.2 不安全的类型转换”一节中,作者提到:
当初始化器为整型字面值时,编译器可以检查实际值并接受不会导致缩小的值:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
我对这个声明感到困惑。它使用了两种类型(int
和 char
)。在我熟悉的 Java 和 Swift 中从未见过这样的声明。这是一个打字错误还是一个有效的 C++ 语法?