使用 std::ranges 摆脱嵌套的 for 循环
Get rid of nested for loops with std::ranges
让我有一个代码:
for (auto& a : x.as)
{
for (auto& b : a.bs)
{
for (auto& c : b.cs)
{
for (auto& d : c.ds)
{
if (d.e == ..)
{
return ...
}
}
}
}
}
as, bs, cs, ds - std::vector 对应元素。
是否可以使用 std::ranges 将四个丑陋的循环转换为一个漂亮的一行表达式?
让我有一个代码:
for (auto& a : x.as)
{
for (auto& b : a.bs)
{
for (auto& c : b.cs)
{
for (auto& d : c.ds)
{
if (d.e == ..)
{
return ...
}
}
}
}
}
as, bs, cs, ds - std::vector 对应元素。
是否可以使用 std::ranges 将四个丑陋的循环转换为一个漂亮的一行表达式?