Я новичок в C++ и читаю книгу Бьерна Страуструпа Programming: Principles and Practice Using C++.
В разделе 3.9.2 Небезопасные преобразования автор упомянул
Когда инициализатор представляет собой целочисленный литерал, компилятор может проверить фактическое значение и принять значения, не подразумевающие сужение:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Я озадачен этим заявлением. Он использует два типа (int
и char
). Я никогда раньше не видел такого объявления в Java и Swift (два языка, с которыми я относительно знаком). Это опечатка или допустимый синтаксис C++?
float char
— еще один полезный тип, особенно в плавательных бассейнах. Некоторые комплектуются держателем для пива. - person Yakk - Adam Nevraumont   schedule 09.07.2018long long
— это отдельный тип данных в C/C++. В наши дни на практике это 64-битное целое число, даже на 32-битных платформах (целочисленные типы вообще немного беспорядочны, и сейчас их около 32767, потому что разработчики стандартов продолжают создавать новые без очевидной причины) . - person Paul Sanders   schedule 10.07.2018