Dlaczego biblioteki i frameworki C ++ nigdy nie używają inteligentnych wskaźników?

Przeczytałem w kilku artykułach, że surowe wskaźniki prawie nigdy nie powinny być używane. Zamiast tego powinny być zawsze zapakowane w inteligentne wskaźniki, niezależnie od tego, czy mają zasięg, czy współużytkowane wskaźniki.

Zauważyłem jednak, że frameworki takie jak Qt, wxWidgets i biblioteki takie jak Boost nigdy nie zwracają ani nie oczekują inteligentnych wskaźników, tak jakby w ogóle ich nie używały. Zamiast tego wracają lub oczekują surowych wskaźników. Czy jest ku temu jakiś powód? Czy powinienem trzymać się z dala od inteligentnych wskazówek, kiedy piszę publiczny interfejs API i dlaczego?

Zastanawiam się tylko, dlaczego inteligentne wskaźniki są zalecane, gdy wiele dużych projektów wydaje się ich unikać.

questionAnswers(8)

yourAnswerToTheQuestion