Heim >Backend-Entwicklung >C++ >Warum wurde in frühen C 11-Entwürfen die implizite Bewegungssemantik weggelassen?
Fehlende automatische Bewegungssemantik in frühen C 11-Entwürfen
Als Programmierer, der hauptsächlich mit POD-Typen und STL-Containern arbeitet und explizite Aufgaben schreibt Operatoren und Kopierkonstruktoren sind aufgrund ihrer Standardimplementierung weitgehend unnötig. Das Fehlen einer automatischen Bewegungssemantik in frühen Entwürfen des C 11-Standards gab jedoch Anlass zu Bedenken hinsichtlich der Benutzerfreundlichkeit und Sicherheit.
Die implizite Generierung von Bewegungskonstruktoren und Zuweisungsoperatoren war Gegenstand zahlreicher Debatten und Überarbeitungen der C-Standard. In frühen Entwürfen wurde diese Semantik nicht automatisch bereitgestellt, was eine Herausforderung für Programmierer darstellte, die versuchten, Verschiebungsfunktionen ohne zusätzlichen Programmieraufwand zu nutzen.
Die aktuelle Spezifikation (N3225) sieht strengere Bedingungen für die implizite Verschiebungsgenerierung vor. Um über einen implizit deklarierten Verschiebungskonstruktor zu verfügen, muss eine Klasse Erfüllen Sie bestimmte Bedingungen, die verhindern, dass der Verschiebungskonstruktor implizit als gelöscht definiert wird
Das obige ist der detaillierte Inhalt vonWarum wurde in frühen C 11-Entwürfen die implizite Bewegungssemantik weggelassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!