boost::bind入门函数
2010-04-21 01:32
337 查看
// boost_test.cpp : 定义控制台应用程序的入口点。
//附加包含 $(BOOST_ROOT)
//无需附加库:
//使用boost库不需要在工程设置中显式的指定库名字,
//而是由boost自身来完成这个设定的。
//由于boost库跨平台并且支持多个编译环境,
//因此这个被链接库文件的文件名是根据当前编译的配置动态生成的。
//动态链接配置的功能是由boost/config/auto_link.hpp统一实现的。
//在这个文件开头的注释里详细说明了使用方式,相信这种方式对我们自己的库开发也很有裨益。
//这里提到了名称的构造公式:
//BOOST_LIB_PREFIX
// + BOOST_LIB_NAME
// + "_"
// + BOOST_LIB_TOOLSET
// + BOOST_LIB_THREAD_OPT
// + BOOST_LIB_RT_OPT
// "-"
// + BOOST_LIB_VERSION
#include "stdafx.h"
#include <algorithm>
#include <vector>
#include <boost/bind.hpp>
#include <iostream>
class A
{
public:
A(int i): id(i), idd(i+1){}
int getid(void){return id;}
private:
int id;
public:
int idd;
};
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
using namespace boost;
vector<A> v;
for (int i = 0; i < 100; i++)
{
A a = A(i);
v.push_back(a);
}
vector<A>::iterator it = find_if(v.begin(),v.end(),((bind(&A::getid,_1)==10)&&(bind(&A::idd,_1)==11)));
if (it == v.end())
{
cout << "ERROR" << endl;
}
else
{
cout << it->getid() << endl;
}
return 0;
}
//返回值:10
//附加包含 $(BOOST_ROOT)
//无需附加库:
//使用boost库不需要在工程设置中显式的指定库名字,
//而是由boost自身来完成这个设定的。
//由于boost库跨平台并且支持多个编译环境,
//因此这个被链接库文件的文件名是根据当前编译的配置动态生成的。
//动态链接配置的功能是由boost/config/auto_link.hpp统一实现的。
//在这个文件开头的注释里详细说明了使用方式,相信这种方式对我们自己的库开发也很有裨益。
//这里提到了名称的构造公式:
//BOOST_LIB_PREFIX
// + BOOST_LIB_NAME
// + "_"
// + BOOST_LIB_TOOLSET
// + BOOST_LIB_THREAD_OPT
// + BOOST_LIB_RT_OPT
// "-"
// + BOOST_LIB_VERSION
#include "stdafx.h"
#include <algorithm>
#include <vector>
#include <boost/bind.hpp>
#include <iostream>
class A
{
public:
A(int i): id(i), idd(i+1){}
int getid(void){return id;}
private:
int id;
public:
int idd;
};
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
using namespace boost;
vector<A> v;
for (int i = 0; i < 100; i++)
{
A a = A(i);
v.push_back(a);
}
vector<A>::iterator it = find_if(v.begin(),v.end(),((bind(&A::getid,_1)==10)&&(bind(&A::idd,_1)==11)));
if (it == v.end())
{
cout << "ERROR" << endl;
}
else
{
cout << it->getid() << endl;
}
return 0;
}
//返回值:10
相关文章推荐
- JQuery入门――用bind方法绑定事件处理函数应用介绍
- 关于boost::function与boost::bind函数的使用心得
- boost 11 function/bind 函数与回调
- boost::bind绑定成员变量,函数书嵌套
- boost::function 通过boost::bind调用类成员函数
- 使用boost.bind绑定class的成员函数作为boost thread的入口
- boost::bind 绑定成员函数
- 关于boost::function与boost::bind函数的使用心得
- 程序开发基础学习三(boost::bind 函数学习)
- 程序开发基础学习三(boost::bind 函数学习)
- boost::function 通过boost::bind调用类成员函数
- boost—— 函数与回调bind
- 以boost::function和boost:bind取代虚函数
- boost::bind无参非成员函数的绑定和调用(一)
- boost::bind()函数的用法详解
- 程序开发基础学习三(boost::bind 函数学习)
- boost::bind 函数与类成员的区别
- C++ boost::bind 函数参数对数组、指针的支持不够好?欢迎指教
- Boost.Bind用法详解(一) 2008-05-09 15:50:50| 分类: C++ |字号 订阅 Boost.Bind 为函数和函数对象提供了一致的语法,对于值语义和指针语义也一样。
- 关于boost::function与boost::bind函数的使用心得