---
title: "Lambda Expression in C++"  
description: "In this blog, I’m explaining about Lambda expression in C++  1 .Lambda Expression provides a concise function syntax for writing anonymous method.2. I"  
author: "priyanka kushwaha"  
published: 2015-02-06  
updated: 2015-02-06  
canonical: https://www.mindstick.com/blog/762/lambda-expression-in-c-plus-plus  
category: "visual c++"  
tags: ["visual c++"]  
reading_time: 1 minute  

---

# Lambda Expression in C++

In this [blog](https://www.mindstick.com/articles/12705/myths-and-misconception-about-blog), I’m explaining about Lambda expression in [C++](https://www.mindstick.com/blog/745/array-in-c-plus-plus)\

1 .Lambda Expression provides a concise [function](https://www.mindstick.com/articles/13001/multi-statement-table-valued-user-defined-function-in-sql-server) syntax for [writing](https://www.mindstick.com/articles/12997/5-essential-tips-on-resume-writing-for-business-analysts) [anonymous](https://www.mindstick.com/interview/1140/what-is-anonymous-class-in-java) method.

2. It is type [safe](https://www.mindstick.com/articles/126322/how-to-keep-your-home-safe-while-traveling) way to write [functions](https://www.mindstick.com/forum/160140/explain-the-role-of-functions-as-a-service-faas-in-serverless-computing) that can be passed as argument for subsequent evaluated.

3. Lambda expression are superset of anonymous method.

4. It can contain either and statement or an expression.

5. It may have or may not have [parameter](https://www.mindstick.com/blog/450/parameter-class-in-c-sharp).

6. Its parameter could be implicitly or explicitly type.

The syntax is:\
[ [capture](https://answers.mindstick.com/qa/99411/when-china-will-capture-taiwan)-list ] ( parameter-list ) -> return_type { statements }

Example

```
#include "stdafx.h"#include <iostream>#include <vector>#include <algorithm>#include<cmath>using namespace std;using namespace System; int main(array<System::String ^> ^args){                         int x=42;            int y=99;            int z=100;            auto lambda=[=,&z]()->int            {                        z++;                                                cout<<x<<endl;cout<<y<<endl;cout<<z<<endl;                        return z;            }; z=lambda();            cout<<z<<endl;            Console::ReadKey(0);    return 0;}
```

##### Example 2:

```
int x=10;            int y=20;            auto lambda=[x,&y]()mutable            {                        x++;y++;                        cout<<x<<endl;cout<<y;            };            lambda();            cout<<x<<endl;cout<<y;
```

##### Example:

```
auto lambda=[]()            {cout<<"Code within  a lambda expression"<<endl;            };            auto lambdaexp=[]{cout<<"code with a lambda expression"<<endl;};     lambdaexp();            auto sum=[](int x,int y)            {                        return x+y;            };            cout<<sum(2,3);            int x = 4;            int r;auto y = [& r, x]()->int {    r += 2;    return x+2;}();
```

If you like to read the [Lambda Expression in C#](https://www.mindstick.com/blog/723/Lambda%20Expression%20in%20c)

---

Original Source: https://www.mindstick.com/blog/762/lambda-expression-in-c-plus-plus

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
