Я могу заставить объект std :: ostream
выводить целые числа в шестнадцатеричном формате, например
std::cout << std::hex << 0xabc; //prints `abc`, not the base-10 representation
Есть ли манипулятор универсальный для всех баз? Что-то вроде
std::cout << std::base(4) << 20; //I want this to output 110
Если есть, то у меня больше нет вопросов.
Если его нет, могу я написать? Не потребуется ли мне доступ к деталям частной реализации std :: ostream
?
Обратите внимание, что я знаю, что могу написать функцию, которая принимает число и преобразует его в строку, которая является представлением этого числа в любой базе. Или я могу использовать тот, который уже существует. Я спрашиваю о настраиваемых манипуляторах потоков - возможны ли они?
Заранее спасибо