社区
C++ 语言
帖子详情
boost::bind和boost::lambda::bind有啥区别?
BlueprintIrene
2010-10-05 10:50:49
RT
谢谢
...全文
373
5
打赏
收藏
boost::bind和boost::lambda::bind有啥区别?
RT 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yshuise
2011-02-19
打赏
举报
回复
“超越c++标准库”上面有讲。我遇到过只能用lambda的情况。
yshuise
2011-02-19
打赏
举报
回复
有时候两个用都可以,有时候只能用lambda::bind
gules
2010-10-06
打赏
举报
回复
boost::bind是标准程序库std::bind1st与std::bind2nd的一般化;
而boost::lambda::bind是一个表达式,用于生成lambda的functor。
细节请查阅boost的文档。
yshuise
2010-10-06
打赏
举报
回复
有lambda那个,显然可以用lambda,比如:
for_each(, , boost::bind(&status::report, _1));
BlueprintIrene
2010-10-06
打赏
举报
回复
我的意思是,在某些情况下,能用boost::lambda::bind的地方也能用boost::bind。比如:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <boost/bind.hpp>
#include <boost/lambda/bind.hpp>
void print(const std::string& prefix, const std::string& text) {
std::cout << prefix << "::" << text << "\n";
}
int main()
{
std::vector<std::string> vec;
vec.push_back("tuple");
vec.push_back("bind");
vec.push_back("lambda");
for_each(vec.begin(), vec.end(), boost::bind(&print, "boost", _1));
for_each(vec.begin(), vec.end(), boost::lambda::bind(&print, "boost", boost::lambda::_1));
}
最后两条语句的输出结果是一样的。
这种时候,用哪个bind好呢?
另外,什么时候该用boost::bind,什么时候该用boost::lambda::bind?
c++
boost
bind
boost
stl一些常用函数的使用训练
基于
boost
的
bind
与function的消息处理框架
算是一个消息处理框架吧,用于说函数对象function与
bind
的基本用法; 比较适合入门
boost
的function与
bind
的基本用法
boost
完美组合(你不用再找其他的
boost
书籍了)
boost
完美组合(你不用再找其他的
boost
书籍了).rar
boost
完美组合(你不用再找其他的
boost
书籍了).rar
boost
完美组合(你不用再找其他的
boost
书籍了).rar
boost
最新官方帮助文档1.56.0
boost
最新官方帮助文档1.56.0
Boost
视频教程
Boost
深入剖析之使用技巧视频教程百度云
C++ 语言
65,184
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章