C++ boost转换适配器中可能存在的错误
我发现下面代码的调试版本和发布版本之间有一个bugC++ boost转换适配器中可能存在的错误,c++,boost,C++,Boost,我发现下面代码的调试版本和发布版本之间有一个bug #include <vector> #include <iostream> #include <boost/bind.hpp> #include <boost/range/algorithm.hpp> #include <boost/range/adaptors.hpp> using namespace std; namespac
#include <vector>
#include <iostream>
#include <boost/bind.hpp>
#include <boost/range/algorithm.hpp>
#include <boost/range/adaptors.hpp>
using namespace std;
namespace br = boost::range;
namespace badpt = boost::adaptors;
std::pair<int,int> pr_swap(std::pair<int,int> pr)
{return make_pair(pr.second,pr.first);}
int main()
{
std::vector<pair<int,int> > vec;
vec.push_back(make_pair(1,2));
vec.push_back(make_pair(2,1));
br::copy(vec|badpt::transformed(bind(pr_swap,_1))|badpt::map_keys,std::ostream_iterator<int>(cout," "));
}
如果没有我,我会得到预期的结果
2,1
知道哪里出了问题吗?at-O0 valgrind也运行不正常
2,1