Я выделяю пространство ::operator new(sizeof(T) * count)
.Я получаю очень разные адреса при распределении пространства
1-й вызов возвращает адрес 0x742f30
, а второй возвращает 0x7f2ef0000d60
. Я теперь смущен огромной разницей.
Мой вопрос: Это нормально, что возвращенные адреса могут сильно отличаться?
Update:
SLES 11 SP3 VM on XenServer
gcc 4.9.3
10 GB RAM
Update:
Потому что некоторые люди подозревают неверный формат. Я показываю возвращаемый адрес командой new
с тем же printf
. Я скопировал значения указателя на этот вопрос, скопировав и вставив их и дважды проверив их. Они соответствуют выходному сигналу моего Memory Allocator.
Да, поскольку память на самом деле отмечает местоположения как нераспределенные, и это может быть небольшой блок, разбросанный по всей памяти, не заразный. – MoustafaS
Можете ли вы разместить код? Идеально то, что мы можем скомпилировать и поиграть с собой. –
Это ** очень странно ** ... Разница примерно: ** ~ 140 ТБ ** - Вы уверены, что правильно разместили цифры? – WhiZTiM