#include <iostream>
#include <exception>
#include <stdexcept>
#include <string>
#include <vector>
#include <utility>
struct Foo {
Foo(std::string t):text(t){}
//destructor deleted
std::string text;
};
int main()
{
std::vector<Foo> v;
v.push_back(Foo("foo 1"));
v.push_back(Foo("foo 2"));
v.push_back(Foo("foo 3"));
for(auto& foo : v){
std::cout << "foo.text: '" << foo.text << "'\n";
}
Foo fooBack = std::move(v.back());
std::cout << "fooBack.text: '" << fooBack.text << "'\n";
for(auto& foo : v){
std::cout << "foo.text: '" << foo.text << "'\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZXhjZXB0aW9uPgojaW5jbHVkZSA8c3RkZXhjZXB0PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KIApzdHJ1Y3QgRm9vIHsKCUZvbyhzdGQ6OnN0cmluZyB0KTp0ZXh0KHQpe30KCS8vZGVzdHJ1Y3RvciBkZWxldGVkCiAgICAKICAgIHN0ZDo6c3RyaW5nIHRleHQ7Cn07CgppbnQgbWFpbigpCnsKCXN0ZDo6dmVjdG9yPEZvbz4gdjsKICAgIAoJdi5wdXNoX2JhY2soRm9vKCJmb28gMSIpKTsKCXYucHVzaF9iYWNrKEZvbygiZm9vIDIiKSk7Cgl2LnB1c2hfYmFjayhGb28oImZvbyAzIikpOwogIAoJZm9yKGF1dG8mIGZvbyA6IHYpewoJCXN0ZDo6Y291dCA8PCAiZm9vLnRleHQ6ICciIDw8IGZvby50ZXh0IDw8ICInXG4iOwoJfQogIAoJRm9vIGZvb0JhY2sgPSBzdGQ6Om1vdmUodi5iYWNrKCkpOwogIAoJc3RkOjpjb3V0IDw8ICJmb29CYWNrLnRleHQ6ICciIDw8IGZvb0JhY2sudGV4dCA8PCAiJ1xuIjsKICAKCWZvcihhdXRvJiBmb28gOiB2KXsKICAgIAlzdGQ6OmNvdXQgPDwgImZvby50ZXh0OiAnIiA8PCBmb28udGV4dCA8PCAiJ1xuIjsKCX0KCglyZXR1cm4gMDsKfQ==