Se si utilizza un riferimento const a un altro membro, è possibile che questo riferimento venga invalidato?I riferimenti const ai membri sicuri sono
class Class {
public:
const int &x{y};
private:
int y;
};
Ad esempio quando uso istanze di questa classe in un vettore che aumenta la sua capacità dopo un push_back
. Secondo lo standard tutti gli iteratori e i riferimenti sono invalidati se un vettore deve aumentare la sua capacità. Il riferimento è ancora valido dopo?
sarei sorpreso se si poteva spingere che in un vettore e hanno 'x' punto in cui si pensa lo fa. –
Non dovrebbe essere sufficiente un push back per ogni istanza di 'Class' appena inserita? I dati verrebbero copiati nel vettore con x che punta alla nuova posizione y. – 0ax1
Se hai preso il riferimento prima di 'push_back()', non punta a quell'elemento all'interno del vettore. 'push_back()' prende una copia. –