首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >boost std::bind与C++11::bind的区别

boost std::bind与C++11::bind的区别
EN

Stack Overflow用户
提问于 2012-05-12 00:56:04
回答 2查看 21.4K关注 0票数 68

这两者之间有什么区别吗?或者,在代码中将每次出现的boost::bind都替换为std::bind,从而消除对Boost的依赖,这样做安全吗?

EN

回答 2

Stack Overflow用户

发布于 2012-05-13 17:54:32

除了上面列出的,boost::bind还有一个重要的扩展点: get_pointer()函数,它允许将boost::bind与任何智能指针集成,例如。ATL::CComPtr等http://www.boost.org/doc/libs/1_49_0/libs/bind/mem_fn.html#get_pointer

因此,使用boost::bind还可以绑定一个weak_ptr:http://lists.boost.org/Archives/boost/2012/01/189529.php

票数 16
EN

Stack Overflow用户

发布于 2012-05-12 00:58:38

我没有完整的答案,但std::bind将使用可变模板而不是参数列表。

与在std::placeholders::_1中一样,占位符在std::placeholders中,而不是全局名称空间。

我为stdph的命名空间设置了别名。

代码语言:javascript
复制
namespace stdph=std::placeholders;

除此之外,我更新到C++11没有任何问题。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10555566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档