История изменений
Исправление Manhunt, (текущая версия) :
entities.erase(std::remove_if(entities.begin(), entities.end(), [&entity](Entity other) {
return entity == other;
}), entities.end());
Да, c++ ублюдский язык, в том числе потому, что описание логики на нём замусоривается бесполезным бойлерплейтом. Однако в rust по сравнению с c++ читабельность кода ещё снизили. Как заглянешь в него - блевать хочется.
Кстати, твой пример можно записать без лямбд, будет капельку лучше:
v.erase(std::remove(v.begin(), v.end(), entity), v.end());
PS Капельку лучше, но всё равно, конечно, больная на всю голову хрень.
Исправление Manhunt, :
entities.erase(std::remove_if(entities.begin(), entities.end(), [&entity](Entity other) {
return entity == other;
}), entities.end());
Да, c++ ублюдский язык, в том числе потому, что описание логики на нём замусоривается бесполезным бойлерплейтом. Однако в rust по сравнению с c++ читабельность кода ещё снизили. Как заглянешь в него - блевать хочется.
Кстати, твой пример можно записать без лямбд, будет капельку лучше:
v.erase(std::remove(v.begin(), v.end(), entity), v.end());
PS Немного лучше, но всё равно, конечно, больная на всю голову хрень.
Исходная версия Manhunt, :
entities.erase(std::remove_if(entities.begin(), entities.end(), [&entity](Entity other) {
return entity == other;
}), entities.end());
Да, c++ ублюдский язык, в том числе потому, что описание логики на нём замусоривается бесполезным бойлерплейтом. Однако в rust по сравнению с c++ читабельность кода ещё снизили. Как заглянешь в него - блевать хочется.
Кстати, твой пример можно записать без лямбд, будет капельку лучше:
v.erase(std::remove(v.begin(), v.end(), entity), v.end());