我有一个向量,我想将每个元素与标量值相乘。我为此编写了以下代码
int func(const int x)
{
return 10 * x; // say the scalar value is 10
}
void foo()
{
// .. compute vector vert
std::transform(vert.begin(), vert.end(), vert.begin(), ::func);
}
代码完成了这项工作,但我想知道是否有更简洁的实现可以实现,不需要我单独定义func函数
答案 0 :(得分:3)
我还没有看到transform()
实际上看起来像一个好答案的情况......我强烈建议:
for (int& x : vert) {
x *= 10; // or x = func(x)
}
更清晰,更简洁。