Имеется некоторый класс A:
template <class T> class A {
T* t;
A(const A & a): t(0) {
std::cout << "копирующий конструктор\n";
// t = new .....
}
A(A && a): t(0) {
std::cout << "перемещающий конструктор\n";
// t = a.t .....
}
};
помогите написать MyMove аналог std::move, чтобы срабатывал перемещающий конструктор, а не копирующий:
A<int> b(25);
A<int> a(MyMove(b));
P.S. std::move устраивает, просто хочу разобраться. Мой неудачный опыт:
template <class T>
T&& MyMove(T&& a) { return a; }
// или
T&& Move(T&& a) { return static_cast<T&&>(a); }