Допустим, мы имеем:C++. Почему std :: cout << char + int печатает значение int?
char x = 'a';
int y = 1;
Так что, если вы бежите:
std::cout << x + y;
Он печатает 98 вместо 'Ъ'. Как я вижу из here <<operator
имеет только int параметр реализации.
Теперь у меня есть 2 вопроса:
- После символ + INT операция, какой тип возвращаемых?
- Почему нет char параметр реализации, но
std::cout << x
все еще работает как ожидается, и печатает char значение?
Прочитайте это: HTTP : //en.cppreference.com/w/cpp/language/implicit_conversion (раздел Числовые акции -> Интегральное продвижение) – Fefux
2) Существует еще один набор [оператор, не являющийся членом <<] (http: //www.cplusplus.com/reference/ostream/ostream/operator-free /), который также работает с потоком. –
И это: http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt2 для реализации 'operator <<' для 'char'. Вы должны забыть cplusplus.com, это не очень полный веб-сайт. –