Lambda expression (sum of vectors)

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

How should my lambda expression look in this case? I want to add vectors not by std::plus<> but using 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;
}
profilepic.png
manpreet 2 years ago

 

It should like this:

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

Minimal example:

#include
#include

using MatVect = std::vector;

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;

 


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.