Ho un modello che assomiglia a questo
template <typename T> class Foo
{
public:
Foo(const T& t) : _t(t) {}
private:
const T _t;
};
Esiste un metodo esperto di metaprogrammazione per evitare l'uso di un riferimento const nei casi in cui il tipo di argomento è banale come un bool o un char? piace:
Foo(stl::smarter_argument<T>::type t) : _t(t) {}
Foo
.