关于C++中的匿名函数

Posted jeapwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于C++中的匿名函数相关的知识,希望对你有一定的参考价值。

匿名函数:在计算机编程中是指一类无需定义标识符(函数名)的函数或子程序。

匿名函数具有以下特征:

  • 它没有名字(因此是匿名的)
  • 内联定义
  • 当您不想要正常功能的开销/形式时使用
  • 除非作为参数传递给另一个函数,否则不会多次显式引用
 1 //all_off example
 2 #include <iostream>
 3 #include <algorithm>
 4 #include <array>
 5 using namespace std;
 6 
 7 int main()
 8 
 9     std::array<int, 8> foo =  3, 5, 7, 11, 13, 17, 19, 23 ;
10     if (all_of(foo.begin(), foo.end(), [](int i) return i % 2; ))
11     
12         std::cout << "All elements are odd number\n";
13     
14     else 
15     
16         std::cout << "All elements are not odd number\n";
17     
18     return 0;
19 

上述的匿名函数可以等价为如下常用形式:

1 bool is_odd(int i)
2 
3     return i % 2;
4 

 

以上是关于关于C++中的匿名函数的主要内容,如果未能解决你的问题,请参考以下文章

C++类和对象:构造函数初始化友元匿名对象内部类

C++类和对象:构造函数初始化友元匿名对象内部类

关于js的闭包和匿名函数

如何在 C++ 中定义匿名函数?

关于匿名函数的使用,购物车中计算销售税的应用

C++:在匿名命名空间中声明函数原型的正确方法是啥?