Я пытаюсь определить класс A
следующим образом:
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.
};
Здесь я хочу, чтобы _elem
имел либо тип T
, если аргумент конструктора elem
является значением r, либо типом T&
в случае elem
является l-значением.
Кто-нибудь знает, как это можно реализовать?