В нескольких статьях я читал, что необработанные указатели почти никогда не должны использоваться. Вместо этого они всегда должны быть обернуты внутри интеллектуальных указателей, независимо от того, были ли они скопированы или разделены указателями.
Однако я заметил, что такие фреймворки, как Qt, wxWidgets и библиотеки, такие как Boost, никогда не возвращают и не ожидают интеллектуальных указателей, как будто они вообще не используют их. Вместо этого они возвращают или ожидают грубые указатели. Есть ли причина для этого? Должен ли я держаться подальше от умных указателей, когда я пишу публичный API и почему?
Просто интересно, почему рекомендуется использовать интеллектуальные указатели, когда многие крупные проекты, похоже, избегают их.