|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.08.2011, 08:54 | #1 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Сборщик мусора для отдельного класса
Сабж в названии темы. Стоит ли делать подобное либо выгоднее ручками управлять памятью?
|
13.08.2011, 10:22 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Определите, что конкретно обязан выполнять данный класс, так же, придерживайтесь к правилам архитектуры других классов в вашем приложение, иначе при использовании классов вы можете запутаться, одни объекты будут сами освобождаться, другие наоборот "утекать" что явно плохо и трудно запомнить что и как работает.
|
13.08.2011, 10:26 | #3 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ну просто видите ли, я пока что не очень понимаю, как создать обобщённый сборщик мусора, т.е. для всех типов. Да, как-то с шаблонами, но просто не понимаю как хранить или искать ненужную память. И в этом-то классе создал отдельный класс GC, перегрузил операторы new и delete в моём классе MyClass, добавив в них вызов функции сохранения ссылки на выделенную память.
|
13.08.2011, 10:34 | #4 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
Опять таки, сборщик вызываться должен в различных ситуациях, мое мнение лучше не делать такого, либо мудрить через макросы, чтобы создать скрытый вызов сборщика, к примеру после(в конце) метода какого либо класса, функции. Последний раз редактировалось BOBAH13; 13.08.2011 в 10:37. |
|
13.08.2011, 10:38 | #5 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Спасибо за совет.
Ну и всё-таки, получается, что я реализую сборщик только для моих типов(хотя мне этого достаточно пока что), т.е. для MyClass1,MyClass2, и т.д. А вот вообще реально ли реализовать сборщик и для встроенных типов, т.е. для int, float,double и проч.? Или это реализуемо только на уровне компилятора? А у меня сборщик неявно вызывается, кстати...Он сам вызывает свою функцию сборки в своём же деструкторе, т.е. при таком коде Код:
Последний раз редактировалось _-Re@l-_; 13.08.2011 в 10:41. |
13.08.2011, 10:46 | #6 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
На счет "только уровня компилятора", можно через макросы или написать свой небольшой интерпритатор и встроить его в цепочку сборки проекта. Все упирается в зачем и нужно ли? |
|
13.08.2011, 10:47 | #7 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Код:
|
|
13.08.2011, 11:04 | #8 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
Код:
|
|
13.08.2011, 11:08 | #9 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Но, просто как-то после того как некоторое время интенсивно поработаешь с указателями, с обычными переменными уже как-то не то.. |
|
13.08.2011, 11:10 | #10 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Поменяйте язык это специфика языка, как бы ничего не поделаешь. Хотя вот Qt сделали, но это фреймворк, другая история.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сборщик мусора в динамическом списке | Homutova_Julia | Помощь студентам | 4 | 17.06.2011 19:09 |
Не могу организовать сборщик мусора | Homutova_Julia | Помощь студентам | 5 | 08.06.2011 13:22 |
Опрос: Сборщик мусора | Пепел Феникса | Общие вопросы по программированию, компьютерный форум | 15 | 20.04.2011 19:19 |
Создание отдельного модуля для класса... | Mixim | C++ Builder | 2 | 24.04.2010 11:27 |
Отследить нажатие клавиши для отдельного окна | Черничный | Win Api | 12 | 13.09.2008 20:47 |