Я новичок C++, и я читаю Bjarne Stroustrup Программирование: принципы и практика с использованием C++.
В разделе, посвященном 3.9.2 Небезопасные преобразования, автор упомянул
Когда инициализатор является целым литералом, компилятор может проверить фактическое значение и принять значения, которые не подразумевают сужение:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Я озадачен этой декларацией. Он использует два типа (int
и char
). Я никогда не видел такого объявления в Java и Swift раньше (два языка, с которыми я довольно хорошо знаком). Является ли это опечаткой или действительным синтаксисом C++?