Как удалить элемент из вектора stl с определенным значением?

Если вы хотите удалить элемент, следующее stl будет немного эффективнее.

std::vector v;


auto it = std::find(v.begin(), v.end(), 5);
if(it != v.end())
    v.erase(it);

или c++ вы можете избежать накладных stl-containers расходов на перемещение элементов, если c++ порядок для вас не имеет c++ значения:

std::vector v;

auto it = std::find(v.begin(), v.end(), 5);

if (it != v.end()) {
  using std::swap;

  // swap the one to be removed with the last element
  // and remove the item at the end of the container
  // to prevent moving all items after '5' by one
  swap(*it, v.back());
  v.pop_back();
}

c++

stl

2022-11-20T03:09:43+00:00