#include <iostream>
#include <memory>
#include <vector>
using namespace std;
int main() {
std::unique_ptr<std::vector<int> > uptr(new std::vector<int>);
uptr->push_back(23);
uptr->push_back(45);
uptr->push_back(34);
std::cout << "uptr size = " << uptr->size() << std::endl;
for (auto i=0; i < uptr->size(); ++i) {
std::cout << "(*uptr)[" << i << "] = " << (*uptr)[i] << std::endl;
}
std::cout << std::endl;
std::vector<int> v = std::move(*uptr);
std::cout << "uptr size post move = " << uptr->size() << std::endl;
for (auto i=0; i < uptr->size(); ++i) {
std::cout << "(*uptr)[" << i << "] = " << (*uptr)[i] << std::endl;
}
std::cout << std::endl;
std::cout << "moved vec size = " << v.size() << std::endl;
for (auto i=0; i < v.size(); ++i) {
std::cout << "v[" << i << "] = " << v[i] << std::endl;
}
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgc3RkOjp1bmlxdWVfcHRyPHN0ZDo6dmVjdG9yPGludD4gPiB1cHRyKG5ldyBzdGQ6OnZlY3RvcjxpbnQ+KTsKIAogIHVwdHItPnB1c2hfYmFjaygyMyk7CiAgdXB0ci0+cHVzaF9iYWNrKDQ1KTsKICB1cHRyLT5wdXNoX2JhY2soMzQpOwogCiAgc3RkOjpjb3V0IDw8ICJ1cHRyIHNpemUgPSAiIDw8IHVwdHItPnNpemUoKSA8PCBzdGQ6OmVuZGw7CiAgZm9yIChhdXRvIGk9MDsgaSA8IHVwdHItPnNpemUoKTsgKytpKSB7CiAgICBzdGQ6OmNvdXQgPDwgIigqdXB0cilbIiA8PCBpIDw8ICJdID0gIiA8PCAoKnVwdHIpW2ldIDw8IHN0ZDo6ZW5kbDsKICB9CiAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKIAogIHN0ZDo6dmVjdG9yPGludD4gdiA9IHN0ZDo6bW92ZSgqdXB0cik7CiAKICBzdGQ6OmNvdXQgPDwgInVwdHIgc2l6ZSBwb3N0IG1vdmUgPSAiIDw8IHVwdHItPnNpemUoKSA8PCBzdGQ6OmVuZGw7CiAgZm9yIChhdXRvIGk9MDsgaSA8IHVwdHItPnNpemUoKTsgKytpKSB7CiAgICBzdGQ6OmNvdXQgPDwgIigqdXB0cilbIiA8PCBpIDw8ICJdID0gIiA8PCAoKnVwdHIpW2ldIDw8IHN0ZDo6ZW5kbDsKICB9CiAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKIAogIHN0ZDo6Y291dCA8PCAibW92ZWQgdmVjIHNpemUgPSAiIDw8IHYuc2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKICBmb3IgKGF1dG8gaT0wOyBpIDwgdi5zaXplKCk7ICsraSkgewogICAgc3RkOjpjb3V0IDw8ICJ2WyIgPDwgaSA8PCAiXSA9ICIgPDwgdltpXSA8PCBzdGQ6OmVuZGw7CiAgfQogIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogIHJldHVybiAwOwp9