Wenn eine Funktion eine shared_ptr
(von boost oder C++11 STL), übergeben Sie es:
-
durch eine konstante Referenz:
void foo(const shared_ptr<T>& p)
-
oder nach Wert:
void foo(shared_ptr<T> p)
?
Ich würde die erste Methode bevorzugen, weil ich vermute, dass sie schneller ist. Aber ist es das wirklich wert oder gibt es zusätzliche Probleme?
Könnten Sie bitte die Gründe für Ihre Wahl angeben oder, falls dies der Fall ist, warum Sie glauben, dass es keine Rolle spielt.