boost库提供了一种“强引用”类型,标准C++的引用类型,一旦指向类型,就不能改变它的值,boost的ref类型可以进行修改值,++等操作。
boost引用库是在ref.cpp文件的reference_wrapper内,使用前要包含图文件
#include<boost/ref.hpp>
reference_wrapper很小,它是一个模板类,代码不多,可以看看,其实就是封装了一模板指针类型,对指针的操作就是操作它接收的变量。它的构造函数用explicit修饰,那么在使用时就得给它传值,不然会无法编译。
用get() 可以获取ref包装的值,get_pointer()存储了变量的指针,用它可以操作变量。
基本使用代码如下:
#include <iostream>
#include<boost/ref.hpp>
using namespace boost;
using namespace std;
int main()
{
int