Wenn ich eine const-Referenz zu einem anderen Mitglied verwende, ist es möglich, dass diese Referenz ungültig wird?Sind const Verweise auf Mitglieder sicher
class Class {
public:
const int &x{y};
private:
int y;
};
Zum Beispiel wenn ich Instanzen dieser Klasse in einem Vektor , die nach einem push_back
seine Kapazität erhöht. Gemäß dem Standard werden alle Iteratoren und Referenzen ungültig, wenn ein Vektor seine Kapazität erhöhen muss. Ist die Referenz danach noch gültig?
Ich wäre überrascht, wenn man das in einen Vektor drücken könnte und haben 'X' Punkt, wo Sie denken, es tut. –
Sollte kein Pushback für jede neu eingefügte 'Class'-Instanz in Ordnung sein? Die Daten werden in den Vektor kopiert, wobei x auf die neue y-Position zeigt. – 0ax1
Wenn Sie die Referenz vor 'push_back()' genommen haben, wird nicht auf dieses Element innerhalb des Vektors verwiesen. 'push_back()' nimmt eine Kopie. –