Ich versuche, abhängig vom Typ des Konstruktorargument eine Klasse A
wie folgt zu definieren:Mitgliedertyp Variable sollte
template< typename T >
class A
{
public:
A(T elem)
: _elem(elem)
{}
private:
TYPE _elem; // "TYPE" should be either "T" in case "elem" is an r-value or "T&" in case "elem" is an l-value.
};
Hier möchte ich _elem
entweder den Typ T
haben, falls dass das Argument der Konstruktor elem
eine ist r-Wert oder der Typ T&
im Fall elem
ist ein I-Wert.
Weiß jemand, wie dies implementiert werden kann?
Ich bin nicht klug genug, dies für Sie zu schreiben, aber Sie erreichen dies mit Vorlage * Spezialisierung *. Upvoted, um Aufmerksamkeit zu erregen. – Bathsheba
Ich hatte auch eine Notwendigkeit dafür (beim Schreiben von Ansichtsklassen) ... –