使用STL算法进行矢量操作

Vector manipulation using STL algorithms

本文关键字:操作 STL 算法 使用      更新时间:2023-10-16

我有一个向量,我想用标量值乘以它的每个元素。我为这个写了以下代码

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)
}

它更清晰、更简洁。