Вопросы к Поиску с Алисой
Интеллектуальные указатели (smart pointers) в C++ отличаются от обычных указателей тем, что обеспечивают правильное и своевременное удаление динамически выделяемой памяти. nuancesprog.ru
Они содержат адрес (как правило, адрес выделенной динамической памяти), и их можно использовать для обращения к объектам по этому адресу. metanit.com Но главное отличие состоит в том, что при использовании интеллектуальных указателей не нужно беспокоиться об освобождении памяти с помощью операторов delete или delete[]. metanit.com Вся выделенная память, используемая интеллектуальными указателями, будет освобождаться автоматически, когда она станет не нужна. metanit.com
Таким образом, smart-указатели позволяют упростить и обезопасить управление памятью. metanit.com
В современном C++ необработанные указатели используются только в небольших блоках кода с ограниченной областью, циклах или вспомогательных функциях, когда важна производительность и вероятность проблем с владением низкая. learn.microsoft.com