#include <iostream>
#include <cstdint>
int main() {
int i;
int *p = &i;
std::cout << std::dec << p << std::endl; // Указатель выводится всегда в hex
std::cout << std::hex << p << std::endl; // т.к. манипулятор действует только на целые типы
// Если преобразовать указатель в целое, то манипуляторы будут действовать
// Значение (адрес) остаются прежними
std::cout << std::dec << reinterpret_cast<uintptr_t>(p) << std::endl;
std::cout << std::showbase << std::hex << reinterpret_cast<uintptr_t>(p) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGludD4KCmludCBtYWluKCkgewoJCglpbnQgaTsKCWludCAqcCA9ICZpOwoJCglzdGQ6OmNvdXQgPDwgc3RkOjpkZWMgPDwgcCA8PCBzdGQ6OmVuZGw7IC8vINCj0LrQsNC30LDRgtC10LvRjCDQstGL0LLQvtC00LjRgtGB0Y8g0LLRgdC10LPQtNCwINCyIGhleAoJc3RkOjpjb3V0IDw8IHN0ZDo6aGV4IDw8IHAgPDwgc3RkOjplbmRsOyAvLyDRgi7Qui4g0LzQsNC90LjQv9GD0LvRj9GC0L7RgCDQtNC10LnRgdGC0LLRg9C10YIg0YLQvtC70YzQutC+INC90LAg0YbQtdC70YvQtSDRgtC40L/RiwoKCS8vINCV0YHQu9C4INC/0YDQtdC+0LHRgNCw0LfQvtCy0LDRgtGMINGD0LrQsNC30LDRgtC10LvRjCDQsiDRhtC10LvQvtC1LCDRgtC+INC80LDQvdC40L/Rg9C70Y/RgtC+0YDRiyDQsdGD0LTRg9GCINC00LXQudGB0YLQstC+0LLQsNGC0YwKCS8vINCX0L3QsNGH0LXQvdC40LUgKNCw0LTRgNC10YEpINC+0YHRgtCw0Y7RgtGB0Y8g0L/RgNC10LbQvdC40LzQuAoJc3RkOjpjb3V0IDw8IHN0ZDo6ZGVjIDw8IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwKSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgc3RkOjpzaG93YmFzZSA8PCBzdGQ6OmhleCA8PCByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgPDwgc3RkOjplbmRsOwoJCglyZXR1cm4gMDsKfQ==