| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Шаблонный тип - указатель |
| Автор: Rickert 30.10.2008, 09:59 | ||
Допусти у меня есть шаблон класс
Всё нормально, если TypeItem не является указателем. Если он является указателем, то получается что где-то в программе была выделена память и data является ед. указателем, который знает адрес где надо чистить. Как теперь это сделать? Учитывая, что TypeItem - это может быть базовый класс, но ссылка содержит указатель на производный от него. |
| Автор: Alek86 30.10.2008, 10:22 | ||
примерно так попробуй
|
| Автор: Alexeis 30.10.2008, 10:27 |
| Не знаю, мож в шаблонах можно как-то разделять, классы и указатели на класс, но ИМХО тут ошибка в проектировании. Если нужно чтобы оно само удалялось, оберни указатель в auto_ptr<>, а в свой шаблон подставляй auto_ptr<TypeItem> Добавлено через 2 минуты и 42 секунды auto_ptr<> как раз реализует стратегию владения. Сам по себе он статический объект, потому не нуждается в удалении, но как только уничтожается сам, то уничтожает и то чем владеет. |
| Автор: Lazin 30.10.2008, 10:34 | ||||||
можно проще и без буста
|
| Автор: Alek86 30.10.2008, 10:38 |
| гы точно, перемудрил |
| Автор: Rickert 30.10.2008, 11:47 |
| Получается две реализации класса деражть надо: для объектов и для указателей? Ясно, благодарю! |