#include <iostream>
#include <utility>
#include <vector>
using namespace std;
class Class
{
public:
int uid;
std::vector<int> x;
Class(const int uid, const std::vector<int> &x): uid(uid), x(x) {}
~Class() { std::cout << "Destructing " << uid << "\n"; }
};
int main() {
Class c2(2, {});
{
Class c1(1, {1,2,3,4,5});
std::cout << "(Before move) c1 size: " << c1.x.size() << " c2 size: " << c2.x.size() << "\n";
c2.x = std::move(c1.x);
std::cout << "(After move) c1 size: " << c1.x.size() << " c2 size: " << c2.x.size() << "\n";
}
std::cout << "(After dstor) c2 size: " << c2.x.size() << "\n";
std::cout << c2.x.size() << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIENsYXNzCnsKcHVibGljOgoJaW50IHVpZDsKCXN0ZDo6dmVjdG9yPGludD4geDsKCUNsYXNzKGNvbnN0IGludCB1aWQsIGNvbnN0IHN0ZDo6dmVjdG9yPGludD4gJngpOiB1aWQodWlkKSwgeCh4KSB7fQoJCgl+Q2xhc3MoKSB7IHN0ZDo6Y291dCA8PCAiRGVzdHJ1Y3RpbmcgIiA8PCB1aWQgPDwgIlxuIjsgfQp9OwoKaW50IG1haW4oKSB7CglDbGFzcyBjMigyLCB7fSk7Cgl7CgkJQ2xhc3MgYzEoMSwgezEsMiwzLDQsNX0pOwoJCXN0ZDo6Y291dCA8PCAiKEJlZm9yZSBtb3ZlKSBjMSBzaXplOiAiIDw8IGMxLnguc2l6ZSgpIDw8ICIgIGMyIHNpemU6ICIgPDwgYzIueC5zaXplKCkgPDwgIlxuIjsKCQljMi54ID0gc3RkOjptb3ZlKGMxLngpOwoJCXN0ZDo6Y291dCA8PCAiKEFmdGVyIG1vdmUpIGMxIHNpemU6ICIgPDwgYzEueC5zaXplKCkgPDwgIiAgYzIgc2l6ZTogIiA8PCBjMi54LnNpemUoKSA8PCAiXG4iOwoJfQoJc3RkOjpjb3V0IDw8ICIoQWZ0ZXIgZHN0b3IpIGMyIHNpemU6ICIgPDwgYzIueC5zaXplKCkgPDwgIlxuIjsKCXN0ZDo6Y291dCA8PCBjMi54LnNpemUoKSA8PCAiXG4iOwoJcmV0dXJuIDA7Cn0=