Код: Выделить всё
std::vector selections = ...;
selections.erase(
std::remove_if(
selections.begin(), selections.end(),
[](MYSTRUCT item) { return item.text == L".."; }), selections.end());
< /code>
Я новичок в C ++ и не знаю много о его параметрах Lambda или о том, как использовать дженерики, но моя цель - что -то упрощенное и в большей степени в соответствии с Java, например, < /p>
// Pseudo-code
removeElement(selections, { item.text == L".." });
У меня есть аналогичные жалобы на find_if . Мне не нравится делать следующее, чтобы найти элемент по значению, < /p>
Код: Выделить всё
auto iter = std::find_if(driveItems.begin(), driveItems.end(),
[&](const MYSTRUCT& elem) { return elem.path == path;});
if (iter != driveItems.end()) {
return *iter;
}
< /code>
В конечном итоге я хочу иметь однострочную обертку A La Java, которая избегает типов итераторов и всего этого синтаксиса и просто делает < /p>
findElement(driveItems, { return elem.path == path; });
Подробнее здесь: https://stackoverflow.com/questions/797 ... ind-if-etc
Мобильная версия