
29 Nov
2011
29 Nov
'11
11:16 a.m.
Why is make_shared declared as template<typename T, typename Arg1 > shared_ptr<T> make_shared( Arg1 const & arg1 ); rather than template<typename T, typename Arg1 > shared_ptr<T> make_shared( Arg1 arg1 ); since the effect is that if you have a constructor that takes non-const references you cannot use make_shared( ) on it. Thx, - Rob.