История изменений
Исправление eao197, (текущая версия) :
let vec = vec![1, 2, 3, 4];
if let Some(v) = vec.iter().find(|i| *i % 2 == 0) {
println!(«{}», v);
}
По большому счету это напоминает попытку подсчитать синтаксический оверхед (с). Ничто не мешает на C++ записать так:
std::vector<int> v{ 1, 2, 3, 4 };
auto r = ranges::find_if( v, [](int i) { return i % 2 == 0; });
if( r != end(v) )
fmt::print( "{}\n", *r );
Исходная версия eao197, :
let vec = vec![1, 2, 3, 4];
if let Some(v) = vec.iter().find(|i| *i % 2 == 0) {
println!(«{}», v);
}
По большому счету это напоминает попытку подсчитать синтаксический оверхед (с). Ничто не мешает на C++ записать так:
std::vector<int> v{ 1, 2, 3, 4 };
auto r = ranges::find_if( v, [](int i) { return i % 2 == 0; });
if( r != end(v) )
fmt::print( "{}\n", *r );