Frage

Könnte jemand mit einigen Beispielen erklären, wenn es besser ist, Funktionen durch Verweis aufrufen und wenn es besser ist, nach Adressen zu nennen?

War es hilfreich?

Lösung

Gehen Sie Ihre Argumente funktionieren Referenz verwendet, wenn möglich. Übergabe von Argumenten durch Verweis beseitigt die Chance, sie NULL sein. Wenn Sie es möglich sein, wollen Zeiger NULL Wert auf eine Funktion zu übergeben dann verwenden.

Andere Tipps

Dies wird bereits diskutiert. Siehe Pointer vs. Referenz .

Eine nette Konvention ist:

  • Geben Objekte durch Zeiger , wenn sie ( Nebeneffekt oder Ausgang ) durch die Funktion manipuliert werden können.
  • Pass alle anderen Objekte durch konstante Referenz .

Dies macht es für den Anrufer sehr klar, mit minimaler Dokumentation und Nullleistungskosten, welche Parameter const oder nicht.

Sie können dies auf primitive Typen gelten als gut, aber es ist fraglich, ob nicht benötigen Sie const Referenzen für Nicht-Ausgabeparameter zu verwenden, da sie eindeutig Pass-by-Wert sind und als Ausgabe der Funktion nicht handeln in irgendeiner Weise (für direkte Typen - keine Zeiger / Referenzen - natürlich).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top