Ich habe eine Vorlage, die so aussieht
template <typename T> class Foo
{
public:
Foo(const T& t) : _t(t) {}
private:
const T _t;
};
Gibt es eine clevere Methode zur Metaprogrammierung von Vorlagen, um die Verwendung einer const-Referenz in Fällen zu vermeiden, in denen der Argumenttyp trivial ist wie ein Bool oder ein Zeichen? mögen:
Foo(stl::smarter_argument<T>::type t) : _t(t) {}
Foo
.