LINUX.ORG.RU

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

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

У такого подхода кстати есть некоторые недостатки, например если две структуры будут указывать друг на друга, то они никогда не удалятся.

Я думаю пока можно ограничится «локальными динамичными переменными», то есть при выходе из диаграммы переменные удаляются (вместе с данными), хоть они и были выделенны через malloc. Что бы отличать от простого выделения памяти, нужно какую то специальную функцию для выделения памяти отдельную сделать.

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

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

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

У такого подхода кстати есть некоторые недостатки, например если две структуры будут указывать друг на друга, то они никогда не удалятся.

Я думаю пока можно ограничится «локальными динамичными переменными», то есть при выходе из диаграммы переменные удаляются (вместе с данными), хоть они и были выделенны через malloc. Что бы отличать от простого выделения памяти, нужно какую то специальную функцию для выделения памяти отдельную сделать.

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

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

У такого подхода кстати есть некоторые недостатки, например если две структуры будут указывать друг на друга, то они никогда не удалятся.

Я думаю пока можно ограничится «локальными динамичными переменными», то есть при выходе из диаграммы переменные удаляются (вместе с данными), хоть они и были выделенны через malloc. Что бы отличать от простого выделения памяти, нужно какую то специальную функцию для выделения памяти отдельную сделать.

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

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

У такого подхода кстати есть некоторые недостатки, например если две структуры будут указывать друг на друга, то они никогда не удалятся.

Я думаю пока можно ограничится «локальными динамичными переменными», то есть при выходе из диаграммы переменные удаляются (вместе с данными), хоть они и были выделенны через malloc. Что бы отличать от простого выделения памяти, нужно какую то специальную функцию для выделения памяти отдельную сделать.