374 Stimmen

Sollten wir eine shared_ptr per Referenz oder per Wert übergeben?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X