在 C++ 中使用擦除删除习语时我应该通过引用传递吗?
例如:
void Country::clean()
{
cities.erase( std::remove_if(
cities.begin(),
cities.end(),
[](City city) -> bool { return city.getNumberOfBuildings() == 0; }
),
cities.end()
);
}
也许将 lambda 函数行更改为:
[](City &city) -> bool { return city.getNumberOfBuildings() == 0; }
并通过参考传递城市?
谢谢