我有一个 vector ,我想将它的每个元素乘以一个标量值。我为此编写了以下代码
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/