Следующий код показывает, что параметр, переданный по ссылке, копируется при использовании boost :: bind.Есть ли способ предотвратить копирование, не прибегая к указателям (который я сейчас использую в качестве обходного пути)?(протестировано с gcc 4.4.3)
#include <iostream>
#include <boost/function.hpp>
#include <boost/bind.hpp>
void function1(int& x)
{
std::cout << "function1 &x: " << &x << std::endl;
}
int main()
{
int y = 0;
std::cout << "main &y: " << &y << std::endl;
boost::function<void()> f = boost::bind(function1, y);
f();
}