Как удалить элемент из вектора 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
2021-12-03T20:32:03+00:00
2022-11-20T03:09:43+00:00
QuakeMan
Вопросы с похожей тематикой, как у вопроса:
Как удалить элемент из вектора stl с определенным значением?
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.