Heim >Backend-Entwicklung >C++ >Wie entferne ich ein Element aus einem std::vector nach Index in C?
In C kann dies bei der Arbeit mit einem std::vector der Fall sein Fälle, in denen das Entfernen eines Elements anhand seines Index erforderlich ist.
Stellen Sie sich ein Szenario vor, in dem Sie einen Vektor mit ganzen Zahlen haben und löschen müssen das n-te Element.
Um ein einzelnes Element an Position n zu löschen, verwenden Sie einfach std::erase mit einem Iterator an die gewünschte Position. So würden Sie es machen:
std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); // Deletes the second element (vec[1]) vec.erase(std::next(vec.begin()));
std::next(vec.begin()) gibt einen Iterator zum zweiten Element zurück, das dann gelöscht wird.
Wenn Sie möchten Löschen Sie mehrere aufeinanderfolgende Elemente und verwenden Sie Erase mit einer Reihe von Iteratoren:
// Deletes the second through third elements (vec[1], vec[2]) vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
Das obige ist der detaillierte Inhalt vonWie entferne ich ein Element aus einem std::vector nach Index in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!