1.Boost之ref,案例:
#include<iostream>
#include <vector>
#include <boost/bind.hpp>
#include <boost/function.hpp>
using namespace std;
using namespace boost;
void print(std::ostream &os,int i)
{
os << i << endl;
}
void main()
{
//不可以拷贝的对象可以用ref的方式,入下面cout是系统的对象
//print中的第一个参数是ostream,引用系统的cout,所以用boost::ref(cout)
boost::function<void(int)> pt = boost::bind(print, boost::ref(cout), _1);
vector<int> v;
v.push_back(11);
v.push_back(12);
v.push_back(13);
//下面的pt只需要在传递一个参数即可,通过迭代的方式传入一个参数的
for_each(v.begin(), v.end(), pt);
std::cin.get();
}