c++ - Lambda 表达式( vector 之和)

标签 c++ lambda

在这种情况下我的 lambda 表达式应该是什么样子?我想添加 vector 不是 std::plus<>但使用 lambda。

MatVect add_vectors(const MatVect& v1, const MatVect& v2) 
{
    MatVect v(v1.size());

    std::transform(v1.cbegin(), v1.cend(), v2.cbegin(), v.begin(), [](){ return });

    return v;
}

最佳答案

应该是这样的:

std::transform(v1.cbegin(), v1.cend(), v2.cbegin(), v.begin(), [](const int& i, const int& j){ return i + j; });

最小示例:

#include<iostream>
#include<vector>

using MatVect = std::vector<int>;

MatVect add_vectors(const MatVect& v1, const MatVect& v2) 
{
    MatVect v(v1.size());

    std::transform(v1.cbegin(), v1.cend(), v2.cbegin(), v.begin(), [](const int& i, const int& j){ return i + j; });

    return v;
}



int main()
{
    MatVect mv1 = {1, 2, 3, 4, 5};
    MatVect mv2 = {2, 4, 6, 8, 10};

    MatVect mv3 = add_vectors(mv1, mv2);
    for(auto const& i : mv3)
    {
        std::cout << i << " ";
    }
    return 0;
}

查看现场演示 here .

关于c++ - Lambda 表达式( vector 之和),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55567701/

相关文章:

php - 如何利用php的漏洞?

c++ - 在另一个进程中销毁共享的 std::vector

C++ - 比较模板和类之间的数据类型

java - LambdaMetaFactory 装箱/拆箱参数和返回类型

c# - 带有 C# : finding elements with custom predicate 的 MongoDB

c++ - 连接两个 Char*

java 。 lambda 中预期的数组类型

java - java 8 文件/字数统计程序的奇怪输出

c# - Lambda StartsWith 在数据库中包含空值、空白值或所有值

c++ - 样式化 Qml 桌面组件