Добрый день, подскажите, когда я для объекта пишу конструктор переноса, мне нужно где-нибудь прописывать, что объект который переносится должен быть очищен, что бы деструктор не вызывался? А то в моем примере смотрю деструктор дважды вызывается.
#include <iostream>
using namespace std;
class A {
public:
int *a;
A() {
cout << "A()" << endl;
a = new int[10];
}
A(A &&rhs) {
cout << " A(A &&rhs) "<< endl;
a = rhs.a;
}
~A() {
cout <<"~A" << endl;
delete []a;
}
};
int main()
{
A a;
A b( move(a) ); cout << "Hello World!" << endl;
return 0;
}