Übergabe gemeinsam genutzter Zeiger: als Referenz oder als Wert
Beim Aufrufen einer Funktion, die einen gemeinsam genutzten Zeiger akzeptiert, stehen Entwickler vor der Wahl zwischen der Übergabe const-Referenz oder nach Wert. Auch wenn die Übergabe per Konstantenverweis aus Leistungsgründen vorzuziehen erscheint, bedarf die Entscheidung weiterer Überlegungen.
Laut Experten der „Ask Us Anything“-Sitzung 2011 C and Beyond bietet die Übergabe eines gemeinsamen Zeigers im Allgemeinen keinen Vorteil nach Wert. Die Übergabe per Const-Referenz ist der empfohlene Ansatz, es sei denn, die Absicht besteht darin, den Besitz des Objekts zu teilen.
Warum die Übergabe per Const-Referenz?
Die Übergabe per Const-Referenz stellt sicher, dass das Der gemeinsam genutzte Zeiger bleibt innerhalb der Funktion unveränderlich, behält seinen Wert und verhindert unbeabsichtigte Änderungen. Dies steht im Einklang mit dem beabsichtigten Verhalten eines gemeinsamen Zeigers, der den gemeinsamen Besitz eines Objekts symbolisiert.
Warum nicht Wert übergeben?
Während die Wertübergabe zu einem Durch die Kopie des gemeinsam genutzten Zeigers optimieren moderne C-Compiler die unnötige Duplizierung des zugrunde liegenden verwalteten Objekts. Die Wertübergabe ist nur dann von Vorteil, wenn der gemeinsam genutzte Zeiger verschiebungsoptimiert werden kann, sodass der Besitz des verwalteten Objekts ohne Kopieren auf die Funktion übertragen werden kann. Diese Optimierung hängt jedoch von der jeweils verwendeten C-Version ab.
Zusätzliche Überlegungen
Das GoingNative-Panel „Ask Us Anything“ von 2012 ging näher auf dieses Thema ein. Zu den wichtigsten Erkenntnissen aus der Diskussion gehören:
Das obige ist der detaillierte Inhalt vonSoll ich gemeinsame Zeiger als Referenz oder als Wert übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!