#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.emplace_back("foo 1");
v.emplace_back("foo 2");
v.emplace_back("foo 3");
for(auto& foo : v){
std::cout << "foo.text: '" << foo.text << "'\n";
}
Foo fooBack = std::move(v.back());
v.pop_back();
std::cout << "fooBack.text: '" << fooBack.text << "'\n";
for(auto& foo : v){
std::cout << "foo.text: '" << foo.text << "'\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZXhjZXB0aW9uPgojaW5jbHVkZSA8c3RkZXhjZXB0PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dXRpbGl0eT4KIApzdHJ1Y3QgRm9vIHsKCUZvbyhzdGQ6OnN0cmluZyB0KTp0ZXh0KHQpe30KCS8vZGVzdHJ1Y3RvciBkZWxldGVkCiAgICAKICAgIHN0ZDo6c3RyaW5nIHRleHQ7Cn07CgppbnQgbWFpbigpCnsKCXN0ZDo6dmVjdG9yPEZvbz4gdjsKICAgIAoJdi5lbXBsYWNlX2JhY2soImZvbyAxIik7Cgl2LmVtcGxhY2VfYmFjaygiZm9vIDIiKTsKCXYuZW1wbGFjZV9iYWNrKCJmb28gMyIpOwogIAoJZm9yKGF1dG8mIGZvbyA6IHYpewoJCXN0ZDo6Y291dCA8PCAiZm9vLnRleHQ6ICciIDw8IGZvby50ZXh0IDw8ICInXG4iOwoJfQogIAoJRm9vIGZvb0JhY2sgPSBzdGQ6Om1vdmUodi5iYWNrKCkpOwoJdi5wb3BfYmFjaygpOwogIAoJc3RkOjpjb3V0IDw8ICJmb29CYWNrLnRleHQ6ICciIDw8IGZvb0JhY2sudGV4dCA8PCAiJ1xuIjsKICAKCWZvcihhdXRvJiBmb28gOiB2KXsKICAgIAlzdGQ6OmNvdXQgPDwgImZvby50ZXh0OiAnIiA8PCBmb28udGV4dCA8PCAiJ1xuIjsKCX0KCglyZXR1cm4gMDsKfQ==