Зачем нужны эти самые умные, мудрые и пр. типы 'указателей'? В каких конкретно случаях нужно применять эти конкретные типы? В чем разница между ними? Имеет ли смысл самому реализовать эти концепции на практике или использовать готовые варианты из boost? В чем преимущество этих вариантов?
Ответ
Благодаря умным указателям можно избежать утечек памяти и обеспечить безопасное ее использование. Если честно, то нет таких ситуаций в которых не нужно было бы применять умных указателей. Вопрос скорее нужно поставить так - какой тип умного указателя нужно применить в той или иной ситуации? Всегда нужно начинать с готовых классов, но бывают ситуации когда подцеплять к проекту столь громоздкую библиотеку, как boost просто невозможно по техническим причинам. В таких ситуациях выручает собственный класс, но нужно понимать что это будет скорее всего частный случай реализации умного указателя и конкурировать с библиотечным типом он сможет только в этом проекте.
Комментариев нет:
Отправить комментарий