我有一个向量,我想用它的每个元素乘以一个标量值我为此编写了以下代码
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函数。
最佳答案
我还没有看到一个案例transform()
实际上看起来是一个很好的答案…我强烈建议:
for (int& x : vert) {
x *= 10; // or x = func(x)
}
更清晰,更简洁。
关于c++ - 使用STL算法进行 vector 处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26747133/