#include <iostream>
#include <iterator>
#include <vector>
int main()
{
std::vector<int> a = {1, 2, 3};
std::vector<int> b = {7, 8, 9};
a.swap(b);
std::cout << "a: ";
std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "b: ";
std::copy(b.begin(), b.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
a = std::move(b);
std::cout << "move" << std::endl;
std::cout << "a: ";
std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
std::cout << "b: ";
std::copy(b.begin(), b.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDx2ZWN0b3I+CgppbnQgbWFpbigpCnsKCXN0ZDo6dmVjdG9yPGludD4gYSA9IHsxLCAyLCAzfTsKCXN0ZDo6dmVjdG9yPGludD4gYiA9IHs3LCA4LCA5fTsKCQoJYS5zd2FwKGIpOwoJCglzdGQ6OmNvdXQgPDwgImE6ICI7CglzdGQ6OmNvcHkoYS5iZWdpbigpLCBhLmVuZCgpLCBzdGQ6Om9zdHJlYW1faXRlcmF0b3I8aW50PihzdGQ6OmNvdXQsICIgIikpOwoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCQoJc3RkOjpjb3V0IDw8ICJiOiAiOwoJc3RkOjpjb3B5KGIuYmVnaW4oKSwgYi5lbmQoKSwgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPGludD4oc3RkOjpjb3V0LCAiICIpKTsKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgkKCWEgPSBzdGQ6Om1vdmUoYik7CgkKCXN0ZDo6Y291dCA8PCAibW92ZSIgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8ICJhOiAiOwoJc3RkOjpjb3B5KGEuYmVnaW4oKSwgYS5lbmQoKSwgc3RkOjpvc3RyZWFtX2l0ZXJhdG9yPGludD4oc3RkOjpjb3V0LCAiICIpKTsKCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgkKCXN0ZDo6Y291dCA8PCAiYjogIjsKCXN0ZDo6Y29weShiLmJlZ2luKCksIGIuZW5kKCksIHN0ZDo6b3N0cmVhbV9pdGVyYXRvcjxpbnQ+KHN0ZDo6Y291dCwgIiAiKSk7CglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJCglyZXR1cm4gMDsKfQ==