/

Remove elements in a vector

In C++17

C++
auto p = std::remove_if(
std::begin(a), std::end(a), [](const auto& e) { return e.seleted(); });
a.erase(p, std::end(a))

The complexity is $O(n)$

In C++20, we can do

c++
auto p = ranges::remove_if(a, &E::selected);
a.erase(p, std::end(a))
Want to make your own site like this?
Try gatsby-theme-code-notes by Zander Martineau.
A starter for gatsby-theme-code-notes