erase row in vector c++ code example

Example 1: remove element by index from vector c++

// Why not setup a lambda you can use again & again
auto removeByIndex = 
  []<class T>(std::vector<T> &vec, unsigned int index)
{
	// This is the meat & potatoes
  	vec.erase(vec.begin() + index);
};

// Then you can throw whatever vector at it you desire
std::vector<std::string> stringvec = {"Hello", "World"};
// Will remove index 1: "World"
removeByIndex(stringvec, 1);
// Vector of integers, we will use push_back
std::vector<unsigned int> intvec;
intvec.push_back(33);
intvec.push_back(66);
intvec.push_back(99);
// Will remove index 2: 99
removeByIndex(intvec, 2);

Example 2: vector erase specific element

template <typename T>
void remove(std::vector<T>& vec, size_t pos)
{
    std::vector<T>::iterator it = vec.begin();
    std::advance(it, pos);
    vec.erase(it);
}

Tags:

Cpp Example