I have a class X
which looks as follows:
template <typename T>
class X {
public:
X(T &t): t_ {t} {}
private:
T &t_;
};
Is there a way to specialize it for T = int
such that an expression X<int>(i)
for an integer i
does nothing but "returns" just i
compile time?
In other words, I would like to have the same syntax for double
and int
(X<double>(d)
and X<int>(i)
respectively) but the former calls a constructor that initializes a reference as showed in the code above, while the latter ignores that "syntax sugar" and "returns" integer i
without doing anything.
Aucun commentaire:
Enregistrer un commentaire