Algorithms do not change the size of the container

The STL algorithms can only modify the elements in a specified range; the elements are never added or removed from the container.

For example, std::remove() or std::unique() does not actually remove elements from a container. Rather, it rearranges the elements so that the removed elements are placed at the back. It then returns an iterator to the first element of the removed elements.

Code example Resulting vector
// Example with std::removeauto vec = std::vector<int>{1,1,2,2,3,3};auto new_end = std::remove(  vec.begin(), vec.end(), 2);vec.erase(new_end, vec.end());

// Example ...

Get C++ High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.