gpt4 book ai didi

C++ 转换和 lambda

转载 作者:行者123 更新时间:2023-11-30 02:38:58 25 4
gpt4 key购买 nike

是否可以将其转化为 std::transform 的简单且良好的用法?

int j = 0;
for (auto &vi : V)
{
auto div_res = div(vi + j, 10);
j = div_res.quot;
vi = div_res.rem;
}

这段代码做了一件非常简单的事情,它感觉应该更短更清晰。

或者,如果不转换,是否有任何标准函数可以使这类事情变得更容易?

最佳答案

关于:

std::transform(vi.begin(), vi.end(), vi.begin(), 
[&j](auto elem) /* or const auto& elem */
{
auto div_res = div(elem + j, 10);
j = div_res.quot;
return div_res.rem;
}
);

但是在这种情况下,基于范围的 for 可能与 std::transform 一样好(如果不是更好的话)。

关于C++ 转换和 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com