Я создаю gui api для игр. У меня есть, например, шрифт для каждого виджета в виде шрифта *. Прямо сейчас у меня это так, что я никогда не управляю памятью (по понятным причинам), потому что я думаю, что пользователь может использовать интеллектуальные указатели, если они хотят, чтобы эта память управлялась. Согласие на это в том, что оно не очень идиотское доказательство. Если пользователь установил шрифт следующим образом:При прохождении указателей на класс, кому нужно управлять ресурсами?
obj.setFont(new Font(""));
Это немедленно вызовет утечку памяти, потому что никто никогда не освобождает ее. Единственный способ - удалить getFont();
Было бы лучше для меня управлять ими?
Благодаря
При необходимости укажите аргументы на константу-ссылку, используйте интеллектуальные указатели в другом месте, определите, какой экземпляр владеет тем, что другие экземпляры (т. Е. Определяет срок жизни объекта). – gimpf 2010-11-24 15:49:11
Вы не можете нести ответственность за кого-то, набрав это: `obj.setFont (новый Font (" "));` больше, чем вы можете нести ответственность за то, что кто-то печатает новый шрифт (""); `на линии сам по себе , – 2010-11-24 15:56:23