Generic Algorithm
Lambda表达式
对于一个对象或表达式,如果可以对其使用调用运算符,则称它为可调用的。
除函数与函数指针外,还有两种可调用对象:重载了函数调用运算符的类以及lambda表达式(lambda expression)。lambda表达式的基本形式如下:
1
[capture list] (parameter list) -> return type { function body }
与普通函数不同,lambda不能有默认参数。
- 如果lambda的函数体包含任何单一
return
语句之外的内容,且未指定返回类型,则返回void
。 - 捕获列表只用于局部非
static
变量,lambda可以直接使用局部static
变量和它所在函数之外声明的名字。 - 当定义一个lambda时,编译器生成一个与lambda对应的新的(未命名的)类类型。
- lambda捕获列表
1 |
|
1 |
|
istream_iterator
操作ostream_iterator
操作对于绑定到流的迭代器,一旦其关联的流遇到文件结束或IO错误,迭代器的值就与尾迭代器相等。
对于反向迭代器,可以使用
base()
成员函数返回其对应的普通迭代器,下图显示了普通迭代器与反向迭代器之间的关系。当我们从一个普通迭代器初始化一个反向迭代器,或是给一个反向迭代器赋值时,结果迭代器与原迭代器指向的并不是相同的元素。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!