Pass-by-Value vs. Pass-by-Rvalue-Referenz in Funktionsparametern
Beim Definieren einer Funktion, die ein Argument von a annimmt Bei einem bestimmten Typ haben Sie zwei Hauptoptionen: Referenz als Wertübergabe oder als Referenz als R-Wert. Die Wertübergabe erstellt eine Kopie des Arguments, während die R-Wert-Referenz die (temporäre) R-Wert-Referenz auf das Argument verwendet, sodass es in die Funktion verschoben werden kann.
Wichtige Unterschiede
Über den Hauptunterschied zwischen Kopieren und Verschieben hinaus gibt es mehrere wichtige Unterschiede, die berücksichtigt werden müssen:
Interface-Implikationen
Die Wahl zwischen Pass -by-value- und pass-by-rvalue-Referenzen haben Auswirkungen auf die Funktionsschnittstelle:
Pass-by-value:
Übergabe-by-Wert-Referenz:
Effizienzüberlegungen
Der Effizienzunterschied zwischen Pass-by-Value- und Pass-by-Rvalue-Referenzen hängt von der Semantik des Argumenttyps ab:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3