Size: a a a

cxx.Дискуссионная

2020 March 02

BB

Bohdan Bessonov in cxx.Дискуссионная
Roy Mustang
Я провел бенчмарк по вектору + unordered_map
источник

RM

Roy Mustang in cxx.Дискуссионная
Разве remove_if уже не выполняет удаление элемента?
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Нет
источник

RM

Roy Mustang in cxx.Дискуссионная
Возвращает итератор элемента который нужно ремувнуть?
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
У ремува нет доступа к контейнеру, только к итераторам
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
Возвращает итератор элемента который нужно ремувнуть?
Начиная с которого нужно эрейзить. За последним оставшимся
источник

RM

Roy Mustang in cxx.Дискуссионная
Roy Mustang
vec.erase(std::remove(vec.begin(), vec.end(), 8), vec.end());
Значит это нужно юзать?
источник

RM

Roy Mustang in cxx.Дискуссионная
или это удалит от 8 до end все
источник

RM

Roy Mustang in cxx.Дискуссионная
в диапазоне
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Ремув перенесет все 8 в конец, эрейз удалит
источник

RM

Roy Mustang in cxx.Дискуссионная
пля
источник

RM

Roy Mustang in cxx.Дискуссионная
Значит нужен remove_if
источник

RM

Roy Mustang in cxx.Дискуссионная
хотя стоп
источник

RM

Roy Mustang in cxx.Дискуссионная
entt у меня не поввторяются
источник

RM

Roy Mustang in cxx.Дискуссионная
Это быстрее будет чем if(auto itr = find_if; itr != .end()) { vec.erase(itr) } ?
источник

RM

Roy Mustang in cxx.Дискуссионная
Тут много if проверок
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
entt у меня не поввторяются
Тогда find_if
источник

RM

Roy Mustang in cxx.Дискуссионная
vec.erase(find_if) ?
источник

RM

Roy Mustang in cxx.Дискуссионная
Там же если end вернет сломается программа
источник

AB

Artöm Bakri Al-Sarmini in cxx.Дискуссионная
Roy Mustang
Это быстрее будет чем if(auto itr = find_if; itr != .end()) { vec.erase(itr) } ?
Так
источник