std::bind 与 C Lambda 一起过时了吗?
在 C 11 之前的时代,std::bind 和 boost:: lambda 通常用于函数绑定。在 lambda 集成到核心 C 语言之前,这发挥了至关重要的作用。然而,随着 C 11 的出现和 lambda 的无缝集成,开发人员开始质疑 std::bind 的相关性。
C Lambda 的优点
C lambda提供了几个优点std::bind:
std::bind 的其余用例
虽然 lambda 满足大多数函数绑定要求, std::bind 保留了有限的用例,包括:
std::bind 的缺点
尽管还有其他用例,std::bind 还是有一些缺点:
结论
在 C 14 及更高版本的上下文中,std::bind 通常被认为是多余的。 C lambda 提供了一种更强大、更灵活的函数绑定方法,使得 std::bind 的早期实用程序基本上已经过时。然而,对于涉及函数重载或按值捕获的特定用例,std::bind 可能仍然是一个可行的选择。
以上是随着 Lambda 的兴起,现代 C 中的'std::bind”是否已过时?的详细内容。更多信息请关注PHP中文网其他相关文章!