snippetcppCritical
How do I erase an element from std::vector<> by index?
Viewed 0 times
indexhowfromerasestdelementvector
Problem
I have a
Example:
std::vector, and I want to delete the nth element. How do I do that?Example:
std::vector vec;
vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);
vec.erase(???);
Solution
To delete a single element, you could do:
Or, to delete more than one element at once:
std::vector 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()));Or, to delete more than one element at once:
// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));Code Snippets
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()));// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));Context
Stack Overflow Q#875103, score: 873
Revisions (0)
No revisions yet.