Ich möchte eine Karte von Vektoren haben, (aber ich möchte nicht Zeiger für den internen Vektor verwenden), ist es möglich?Karte der Vektoren in STL?
// define my map of vector
map<int, vector<MyClass> > map;
// insert an empty vector for key 10. # Compile Error
map.insert(pair<int, vector<MyClass> >(10, vector<MyClass>));
Ich weiß, dass, wenn ich Zeiger für Vektor verwendet haben, wie folgt, wäre es in Ordnung sein, aber ich frage mich, ob ich Zeiger und verwenden Sie die oben Datenstruktur vermeiden kann (ich will nicht manuell löschen)
// define my map of vector
map<int, vector<MyClass>* > map;
// insert an empty vector for key 10.
map.insert(pair<int, vector<MyClass>* >(10, new vector<MyClass>));
Es ist noch einfacher zu schreiben 'map.insert (std :: make_pair (10, Vektor()));' –
xtofl
danke! Diese Website ist wirklich großartig! – chen
@xtofl: Ja, ich meinte "sollte" im Sinne von "um den Compiler-Fehler loszuwerden". fbrereton macht auch gute Punkte, um den Code prägnanter zu machen. –