аллокации в новый участок памяти realloc возвращает новый указатель на другой участок памяти, при этом в старом все еще остаются данные и их нужно очистить или нет?
по идее, realloc на то и реаллок, что сам решает, что делать со старым куском памяти. Но в C++ лично я бы его использовать не рекомендовал. Как и остальные сишные функции для работы с памятью.
Так, эти функции обычно используются в Си. Сейчас их заменили операторы new/delete (если говорить только о С++), чтобы создавать динамические массивы, но на данный момент есть стл контейнеры в стандарте, которые облегчают работу с массивами и т.п.
1 ое правило использования realloc: никогда не используй realloc. О причинах можно поговорить отдельно. В старом месте памяти память освобождается. В этом суть realloc. Ничего очищать не нужно
Спасибо, хоть кто-то ответил на конкретный вопрос. А что в нем такого страшного? Если абстрагироваться от того что мы в плюсах и тут есть new, stl и т.д.
Обсуждают сегодня