Что выведет поток cout при применении манипулятора hex

При исходных стандартных настройках cout получится a*b. Манипулятор hex переключает вывод целых чисел в шестнадцатеричную систему и действует на оба числа.

Короткий ответ

Что ответить на собеседовании

При исходных стандартных настройках cout получится a*b. Манипулятор hex переключает вывод целых чисел в шестнадцатеричную систему и действует на оба числа.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какое содержимое появится в консольном выводе после выполнения следующего кода:

cout << hex << 10 << "*" << 11;

Ответ

При исходных стандартных настройках cout получится a*b. Манипулятор hex переключает вывод целых чисел в шестнадцатеричную систему и действует на оба числа.

Десятичные 10 и 11 записываются как a и b; строка "*" выводится без преобразования. Ни пробелы, ни перевод строки эта цепочка не добавляет.

Флаг основания сохраняется и для последующего вывода. Чтобы вернуться к десятичной записи, используйте std::dec. Ранее установленные uppercase или showbase изменили бы внешний вид, поэтому ответ a*b предполагает отсутствие таких дополнительных флагов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее