diff --git a/6.LambdaExpressions/item33.md b/6.LambdaExpressions/item33.md index f256a56..850079b 100644 --- a/6.LambdaExpressions/item33.md +++ b/6.LambdaExpressions/item33.md @@ -29,7 +29,7 @@ auto f = [](auto&& x) { return func(normalize(std::forward(x))); }; ``` -在理论和实际之间存在一个问题:你传递给`std::forward`的参数是什么类型,即确定我在上面写的`???`该是什么。 +在理论和实际之间存在一个问题:你应该传递给`std::forward`的什么类型,即确定我在上面写的`???`该是什么。 一般来说,当你在使用完美转发时,你是在一个接受类型参数为`T`的模版函数里,所以你可以写`std::forward`。但在泛型*lambda*中,没有可用的类型参数`T`。在*lambda*生成的闭包里,模版化的`operator()`函数中的确有一个`T`,但在*lambda*里却无法直接使用它,所以也没什么用。 @@ -87,7 +87,7 @@ auto f = }; ``` -再加上6个点,就可以让我们的*lambda*完美转发接受多个参数了,因为C++14中的*lambda*也可以是可变参数的: +再加上6个点,就可以让我们的*lambda*完美转发接受多个形参了,因为C++14中的*lambda*也可以是可变形参的: ```c++ auto f =