BetrachtenVerschieben Zuordnung/Konstrukt in C++ für die Klasse mit Referenz
class A
{
array<double, 10> array;
double &a5;
public:
A():a5(array.at(5))
{}
};
Es fühlt sich an wie unterwegs Zuordnung oder Konstruktor auf dieser Klasse bewegen würde das Mitglied a5
ungültig machen. Ist das korrekt? Gibt es eine Problemumgehung?
Dies scheint sehr zerbrechlich Code unabhängig davon bewegen. – Borgleader
Wie stellst du dir die Implementierung von move assignment vor? – kfsone
Und warum willst du das "bewegen"? Es wird mindestens so teuer wie eine Kopie sein. 'array' ist nicht dynamisch und der Inhalt wäre billiger kopiert als verschoben. – kfsone