Move Contructor
Move Contructor
Move ctors steal or copy ownership of dynamically created resources(file descriptors, TCP sockets, threads) held by the argument
class A {
string s;
int n;
public:
A(A&& o) : s(std::move(o.s)), n(std::exchange(o.n, 0)) {}
}