LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

А зачем функции знать, какая память ей передана - стек ли, статика ли, либо куча?

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

Другое дело, что не всегда можно заранее определить, сколько выделять. Если выделяется только базовая структура, в которой ещё куча указателей на дополнительные объекты, выделяемые дочерней функцией — выгода такого решения становится неочевидной. Всё равно для освобождения придётся отдельную функцию писать…

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

Исправление hobbit, :

А зачем функции знать, какая память ей передана - стек ли, статика ли, либо куча?

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

Другое дело, что не всегда можно заранее определить, сколько выделять. Если выделяется только базовая структура, в которой ещё куча указателей на дополнительные объекты, выделяемые дочерней функцией — выгода такого решения становится неочевидной. Всё равно для освобождения придётся отдельную функцию писать…

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

Исходная версия hobbit, :

А зачем функции знать, какая память ей передана - стек ли, статика ли, либо куча?

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

Другое дело, что не всегда можно заранее определить, сколько выделять. Если выделяется только базовая структура, в которой ещё куча указателей на дополнительные объекты, выделяемые дочерней функцией — выгода такого решения становится неочевидной. Всё равно для освобождения придётся отдельную функцию писать…