使用boost库的ref_unwrapped适配器进行程序测试
在C++编程中,我们经常会遇到需要操作引用而非对象本身的情况,如果不小心把引用包装成了一个对象,就很容易出错。此时,可以使用boost库中的adaptors::ref_unwrapped适配器来实现对引用的直接操作,从而避免出现这种错误。
下面是一些使用boost::adaptors::ref_unwrapped适配器的测试程序:
#include <iostream>
#include <vector>
#include <boost/range/adaptor/reversed.hpp>
#include <boost/range/adaptor/map.hpp>
#include <boost/range/algorithm.hpp>
#include <boost/bind.hpp>
int main()
{
// 首先创建一个含有若干个指向整型变量的指针的vector
std::vector<int*> vec;
int a = 1, b = 2, c = 3;
vec.push_back(&a);
vec.push_back(&b);
vec.push_back(&c);
// 接下来创建一个存储指针的迭代器范围
auto range = boost::make_i