Re: Как работает манипулятор hex объекта cout.
От: Кодт Россия  
Дата: 16.11.09 09:41
Оценка:
Здравствуйте, r1der, Вы писали:

R>Интересует внутренее устройство, каким образом все выводиться в формате hex. Можно функцию которая используется там? где ее можно взять? как создать такой член класса который можно передавать таким способом? то есть есть перегруженный оператор вывода принимаемый указатель на функцию?


cout<<hex просто вызывает cout.setf(ios_base::hex,ios_base::basefield), устанавливая флаг форматирования "шестнадцатирично".

Далее уже сам поток, ориентируясь на флаги, сделает что-то типа printf("%X",value) в свой буфер.

Посмотреть можно очень просто: взять исходники STL + CRT и хотя бы залезть туда отладчиком.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.