Warum konnten wir nicht Iteratoren bewegen?

7

C ++ 11 führte einen "move" -Algorithmus ein, der sich wie der "copy" -Algorithmus verhält, außer dass er ... die Daten verschiebt, anstatt sie zu kopieren. Ich frage mich, warum das Commitee den Kopieralgorithmus nicht aktualisiert hat, um vorwärts (oder wahrscheinlich zusätzlich dazu) zu verwenden.

Ein Vektor liefert einen Iterator von T & amp; Ein const-Vektor liefert einen Iterator von const T & amp; Gibt es einen Grund, warum ein Vektor & amp; & amp; könnte nicht einen Iterator von T & amp; & amp; bereitstellen; Das würde es erlauben, Elemente aus einer Liste in einen Vektor zu verschieben, indem man den Vektorkonstruktor verwendet ...

Ist das eine schlechte Idee?

    
anonymous 22.02.2013, 16:56
quelle

2 Antworten

16

Das haben wir schon. Verwenden Sie std::make_move_iterator , um einen Bewegungsiterator zu erstellen.

    
Kerrek SB 22.02.2013, 17:10
quelle
10

Siehe std::move_iterator .

%Vor%     
Howard Hinnant 22.02.2013 17:13
quelle

Tags und Links