Страницы

Поиск по вопросам

вторник, 2 октября 2018 г.

Зачем нужны умные, мудрые и пр. указатели в С++

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


Ответ

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

Комментариев нет:

Отправить комментарий