lambda 可以适应 STL 吗?
Can lambdas be STL-adaptable?
“使仿函数 类 具有适应性”- 在 Effective STL 的第 40 项中告诉 Scott Meyers。有一个问题 - lambda 函数可以适应吗? (Lambdas 不提供对继承机制的访问,对吧?)
那项不是在说继承,而是在说组合。
在 C++11 之前,如果你想反转一元谓词的输出,你会定义 argument_type
和 result_type
成员类型,所以你可以将它包装在 std::not1
.
或者如果你想部分应用二元运算,你可以定义 first_argument_type
、second_argument_type
和 result_type
,将其传递给 std::bind1st
或 std::bind2nd
.
您无法将成员添加到 lambda 的类型,因此您不能将它们与旧适配器一起使用。
“使仿函数 类 具有适应性”- 在 Effective STL 的第 40 项中告诉 Scott Meyers。有一个问题 - lambda 函数可以适应吗? (Lambdas 不提供对继承机制的访问,对吧?)
那项不是在说继承,而是在说组合。
在 C++11 之前,如果你想反转一元谓词的输出,你会定义 argument_type
和 result_type
成员类型,所以你可以将它包装在 std::not1
.
或者如果你想部分应用二元运算,你可以定义 first_argument_type
、second_argument_type
和 result_type
,将其传递给 std::bind1st
或 std::bind2nd
.
您无法将成员添加到 lambda 的类型,因此您不能将它们与旧适配器一起使用。