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