Warum wurde der Vorschlag des Swap-Betreibers abgeschossen?

8

Vorschlag

>

Ich habe das vor einer Weile gelesen und es klingt nach einer unglaublichen Idee. Aber offensichtlich hat es es nicht in C ++ 14 geschafft, und es scheint nicht einmal zu C ++ 17 zu kommen. Was ist die Begründung?

    
Brian Rodriguez 02.01.2015, 21:01
quelle

1 Antwort

14

Im Hintergrund schlägt das Papier, mit dem Sie verlinkt sind, vor, operator:=: zur Sprache hinzuzufügen, um das zu erreichen, was das Folgende heute macht

%Vor%

Stattdessen würden Sie schreiben,

%Vor%

Dies wird von EWG-Frage 54 verfolgt und als kein Fehler zurückgewiesen, weil der Die Methode, unqualifizierte Aufrufe von swap zu verwenden, bleibt trotz des neuen Operators erhalten, weil ohne ihn alle benutzerdefinierten swap -Funktionen unbrauchbar werden. Darüber hinaus macht das Hinzufügen des Operators nicht die Notwendigkeit überflüssig, sich auf ADL verlassen zu müssen, um die typspezifische swap -Implementierung zu finden, falls eine existiert.

Zitieren Bjarne aus dem obigen Link:

  

Aber swap() geht wegen der Abwärtskompatibilität nicht weg, also haben wir jetzt swap() und operator:=: . "Wahrscheinlich eine gute Idee, wenn wir eine Zeitmaschine hätten". Die Einführung eines neuen Betreibers muss wirklich zentral und hilfreich sein. Wenn es uns aus unserem Tauschproblem herausholte, könnte es gut genug sein, aber es ist nicht. Bibliotheken werden nicht aufhören, Swap aufzurufen, und wenn sie das getan haben, werden alle spezialisierten Swap-Funktionen, die Leute geschrieben haben, nicht aufgerufen. Probleme sind real, aber die Vorteile, die sie haben würde (d. H. Welches Problem sie tatsächlich lösen würde), werden nicht ausreichend erklärt. Zu wahrscheinlich, dass swap und :=: unbegrenzt koexistieren und alle Probleme des Swap bestehen bleiben.

     

Allgemeine Übereinstimmung, dass dies ein echtes Problem ist, aber dass es nicht klar ist, warum dies sie lösen würde. Wir werden damit nicht fortfahren.

     

Keine Empfehlung, vorwärts zu gehen, betrachtet NAD.

    
Praetorian 02.01.2015, 21:23
quelle

Tags und Links