
1 Jul
2009
1 Jul
'09
1:29 a.m.
I have a function defined as template<typename T> void foo(const T& x); and then I use boost::bind(foo, x); However, once the code is inside the body of foo, the addresses of x inside foo and the addresses of x when I called bind are different. So somehow a copy is being made. I can get around it by using boost::ref(), but is there a technical reason why it doesn't "just work" and pass it by reference?