C++ Lambdas: capture list vs. parameter list

后端 未结 2 1192
走了就别回头了
走了就别回头了 2021-01-31 02:35

According to the C++11 standard, lambda expressions may use variables in the enclosing scope, by means of the capture list, the parameter list or both.

So, let\'s look

2条回答
  •  隐瞒了意图╮
    2021-01-31 03:10

    For example using stl algorithms:

    std::vector items;
    int factor;
    auto foundItem = std::find_if(items.begin(), items.end(), 
    [&factor](int const& a) 
    { 
       return a * factor == 100; 
    });
    

    In this case you're called in the lambda for every item in the container and you return if the value multiplied by a captured factor is 100. The code doesn't make much sense, it's just to show you an example where capture and parameter lists matter.

提交回复
热议问题