Heim > Backend-Entwicklung > C++ > Wie entferne ich ein Element aus einem std::vector nach Index in C?

Wie entferne ich ein Element aus einem std::vector nach Index in C?

DDD
Freigeben: 2024-12-11 20:57:15
Original
287 Leute haben es durchsucht

How to Remove an Element from a std::vector by Index in C  ?

Löschen eines Elements aus einem std::vector nach Index

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.

Lösung:

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()));
Nach dem Login kopieren

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));
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage