diff --git a/6.LambdaExpressions/item31.md b/6.LambdaExpressions/item31.md index c6a4c7e..6c3993e 100644 --- a/6.LambdaExpressions/item31.md +++ b/6.LambdaExpressions/item31.md @@ -48,7 +48,7 @@ C++11中有两种默认的捕获模式:按引用捕获和按值捕获。但默 这就是本条款的一个总结。如果你偏向技术,渴望了解更多内容,就让我们从按引用捕获的危害谈起吧。 -按引用捕获会导致闭包中包含了对某个局部变量或者形参的引用,变量或形参只在定义*lambda*的作用域中可用。如果该*lambda*创建的闭包生命周期超过了局部变量或者参数的生命周期,那么闭包中的引用将会变成悬空引用。举个例子,假如我们有元素是过滤函数(filtering function)的一个容器,该函数接受一个`int`作为参数,并返回一个`bool`,该`bool`的结果表示传入的值是否满足过滤条件: +按引用捕获会导致闭包中包含了对某个局部变量或者形参的引用,变量或形参只在定义*lambda*的作用域中可用。如果该*lambda*创建的闭包生命周期超过了局部变量或者形参的生命周期,那么闭包中的引用将会变成悬空引用。举个例子,假如我们有元素是过滤函数(filtering function)的一个容器,该函数接受一个`int`,并返回一个`bool`,该`bool`的结果表示传入的值是否满足过滤条件: ```c++ using FilterContainer = //“using”参见条款9,