LINUX.ORG.RU

100500-й вопрос по realloc

 ,


0

1

почему в С98 и С++ realloc() пытается расширить текущий блок, и лишь в случае неудачи выделяет память на новом месте а в С99 — сразу выделяет память на новом месте?

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от AptGet

хотя можете не отвечать на вопрос выше: суть в том, что в треде гражданин утверждал, что вызов realloc() _всегда_ обходится дороже, чем вызов free()+malloc(), я же просто привёл пример, когда это не так

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

Эй, нулёвая прошмандовка, ты мне тут ещё покукарекай. Ты обосрался и слился как животное.

Если тебя обоссали и занулили - сделай выводы и подумай, ты же животное начинаешь кукарекать и врать - т.е. ты понял свою ущербность и пытаешься это всеми силами скрыть. В следующий раз ушмарок даже не юзай этот тег на лоре, чтоб не обраться так же.

anonymous
()
Ответ на: комментарий от next_time

хотя можете не отвечать на вопрос выше: суть в том, что в треде гражданин утверждал, что вызов realloc() _всегда_ обходится дороже, чем вызов free()+malloc(), я же просто привёл пример, когда это не так

Если ты это про меня, то будь добр приведи цитатку-пруфец доказывающий твой выхлоп.

Специально для тебя, кукарекушка, я восстановлю дискуссию - сначала питушок кукарекал, что реалок в 1.6* раза быстрее маллока+фри, потом я курочке ответил: «ты врёшь», потом курочка навая кусок говна, который я лучше бы не видел. Далее я обсоску пояснил, что его «тест» - говно, а так же объяснил 3раза почему.

Т.е. кусок обоссаного бабуина мериет неимеющий в рально мире смысла юзкейс и либо настолько туп, чтобы это понять, либо просто пробалаболил и пытается это скрыть.

С каких пор нулёвой ссанине вообще дали слово балаболить и спорить? Знай своё место и уж поверь мне - кукарекать тебе оно не особо позволяет, вернее только кукарекать и позволяет.

anonymous
()
Ответ на: комментарий от next_time

вот я удивился. а на самом, деле, изменения в стандарте действительно были, только у Шилдта не очень досконально написано и в итоге написанное производит не верное впечатление, в общем читайте тред, уже во всём разобрались

да я читал. Что ж, я рад за вас. А проблема таки наверное в ГСМ переводчике.

emulek
()
Ответ на: комментарий от next_time

так почему реаллок в итоге работает быстрее, чем маллок + фри?

потому-что free+malloc обязаны освободить и выделить память, хоть и не у ядра, но в своём маленьком пуле. А вот realloc даже этого не обязан, и может ничего не выделять, и вообще обычно ничего не делает, только проверяет, не вылез-ли ты за пределы доступного.

emulek
()
Ответ на: комментарий от next_time

и да, не обращай внимания на анона, в переводе на русский он говорит: «вы несомненно правы, а я заблуждался, ибо тупой». Но в силу своего быдлячего окружения, у него выходит только «кококо»...

emulek
()
Ответ на: комментарий от emulek

А проблема таки наверное в ГСМ переводчике.

скорее всего

next_time ★★★★★
() автор топика
Ответ на: комментарий от emulek

ну он так разнервничался, что 2 раза одну и ту же простыню текста добавил и не заметил. такое активное разбрызгивание слюны может вызывать только улыбку)

next_time ★★★★★
() автор топика
Ответ на: комментарий от unt1tled

Напирмер на iseries, int main() == int main(int) && != int main(void), что за стандарт я х3 ибо сишечкин стандарт руки почитать не доходили пока, только крестовый :)

batbko
()
Ответ на: комментарий от next_time

когда покажете документацию на С/С++, изданную в России в бумажном виде, тогда и поговорим

facepalm.jpg

Dudraug ★★★★★
()
Ответ на: комментарий от unt1tled

int main() return 0; учить русскей!!11

Если в main не будет явного return, то будет возвращен ноль. Об этом говорится в стандарте.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

А если не будет указан тип возврата, он станет интом. Можно соревноваться в очевидностях, но лучше писать код красиво.

unt1tled ★★★★
()
Ответ на: комментарий от unsigned

Это, я так понимаю C99. Где-то (тащемто много где) до него еще не дошли.

unt1tled ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.