的实现
我有一个向量,我想用标量值乘以它的每个元素。我为这个写了以下代码
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);
}
代码完成了任务,但我想知道是否有一个更简洁的实现,一个不需要我单独定义函数
我还没有看到transform()
实际上看起来是一个好答案的情况。。。我强烈建议:
for (int& x : vert) {
x *= 10; // or x = func(x)
}
它更清晰、更简洁。