Существует перегрузка operator<<
для std::ostream
и (signed
/ unsigned
) char
, которая выполняет вывод символов;чтобы вывести целочисленное значение символа, вам необходимо выполнить приведение:
std::cout << (int)A << std::endl;
Однако это то, что называется приведением в «старом стиле» (точнее, в стиле C).В C ++ есть операторы приведения, которые являются более явными, более простыми для поиска и обычно предпочтительными:
std::cout << static_cast<int>(A) << std::endl;
Но это неудобно для типа;идиоматическая альтернатива заключается в использовании оператора +
, который переводит свой аргумент в (unsigned
) int
:
std::cout << +A << std::endl;
Это то, что вы должны использовать.