Move-Semantik für Dummies
-
Hat irgendjemand eine *einfache* Erklärung für &&?
-
Die Frage ist zu vage, um sie zu beantworten (außer "Ja" oder "Nein" sind die Antworten, die du suchst). Welche Erklärungen kennst du? Welche Vorbildung hast du? Was verstehst du an den gängigen Erklärungen nicht?
-
Wann setzt man && ein? Wenn man ein Objekt verschieben statt kopieren will?
-
fsfds schrieb:
Wann setzt man && ein? Wenn man ein Objekt verschieben statt kopieren will?
In den allermeisten Fällen wirst du && nie brauchen. Es kommt vor allem dann vor, wenn du mal eine Klasse schreiben solltest, die selber direkt eine Ressource verwaltet. Dann kannst du damit move-Konstruktor und move-Zuweisungen implementieren, die das effiziente Übertragen des Besitzes einer Ressource erlauben. Als reiner Benutzer einer ressourcenverwaltenden Klasse musst du dich aber um nichts mehr kümmern.
-
Bei Perfect Forwarding braucht man auch ein
&&. Allerdings ist das völlig verschieden von den Move Geschichten. Der Unterschied zwischen beiden ist nur ob der Typ vor&&ein Template Parameter ist oder nicht. Ursprünglich sollte eins von Beidem mal ein&&&Werden