Problem: Vector
Erklärung:
Vektoren und andere Container erfordern, dass ihre Komponententypen zuweisbar sind. Eine Referenz ist ein nicht zuweisbarer Typ, da sie eine konstante Referenz auf einen bestimmten Speicherort enthält. Sobald eine Referenz initialisiert ist, kann sie nicht mehr auf ein anderes Objekt verweisen.
Mögliche Ansätze:
std::vector<int*> hello;
struct MyStruct { int data; }; std::vector<MyStruct&> hello;
Es ist jedoch wichtig zu beachten, dass diese Strategie zu fehlenden Referenzen führen kann, wenn die referenzierten Objekte gelöscht oder verschoben werden.
class Wrapper { protected: int& _data; public: Wrapper(int& data) : _data(data) {} }; std::vector<Wrapper> hello;
Das obige ist der detaillierte Inhalt vonWarum kann ich Referenzen nicht als Elemente in einem Standardvektor verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!