c++ - 使用 STL 算法进行 vector 操作

标签 c++ algorithm stl

我有一个 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/

相关文章:

c++ - deleteLater() 是否等待所有挂起的信号被传递?

algorithm - 推荐人 : Log user actions & datamine it – good solution

C++ 案例 multimap

algorithm - 随机数发生器的变化间隔

java - 返回可以用输入字符的子集组成的单词列表中的所有单词的集合

c++ - boost::range 如何使用管道输入在 map 中插入元素

c++ - STL 算法中跨函数边界的循环重新排序

c++ - 我如何在自身内部创建一个类的(静态常量?)实例(即 Color 类)?

c++ - 操纵 LARGE_INTEGERS

C++ std::destroy(T * 指针)