Все квизы
Ловушки семантики
Проведи ревью небольших программ на C++. Найди незавершённое удаление из vector, срезку полиморфного объекта, преждевременное целочисленное деление и опасную текстовую подстановку макроса.
Код-ревью
После попытки удалить все двойки size по-прежнему равен 4. Почему std::remove не уменьшил vector и как завершить удаление?
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> values{1, 2, 2, 3};
std::remove(values.begin(), values.end(), 2);
std::cout << values.size() << '\n';
}