Warum verwenden C ++ - Bibliotheken und Frameworks niemals intelligente Zeiger?

In einigen Artikeln habe ich gelesen, dass rohe Zeiger so gut wie nie verwendet werden sollten. Stattdessen sollten sie immer in intelligente Zeiger eingeschlossen werden, unabhängig davon, ob es sich um bereichsabhängige oder gemeinsam genutzte Zeiger handelt.

Mir ist jedoch aufgefallen, dass Frameworks wie Qt, wxWidgets und Bibliotheken wie Boost niemals intelligente Zeiger zurückgeben oder erwarten, als würden sie diese überhaupt nicht verwenden. Stattdessen geben sie unformatierte Zeiger zurück oder erwarten sie. Gibt es einen Grund dafür? Sollte ich mich von intelligenten Zeigern fernhalten, wenn ich eine öffentliche API schreibe, und warum?

Ich frage mich nur, warum intelligente Zeiger empfohlen werden, wenn viele Großprojekte sie zu vermeiden scheinen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage