fork download
  1. #include <iostream>
  2. #include <exception>
  3. #include <stdexcept>
  4. #include <string>
  5. #include <vector>
  6. #include <utility>
  7.  
  8. struct Foo {
  9. Foo(std::string t):text(t){}
  10. //destructor deleted
  11.  
  12. std::string text;
  13. };
  14.  
  15. int main()
  16. {
  17. std::vector<Foo> v;
  18.  
  19. v.emplace_back("foo 1");
  20. v.emplace_back("foo 2");
  21. v.emplace_back("foo 3");
  22.  
  23. for(auto& foo : v){
  24. std::cout << "foo.text: '" << foo.text << "'\n";
  25. }
  26.  
  27. Foo fooBack = std::move(v.back());
  28. v.pop_back();
  29.  
  30. std::cout << "fooBack.text: '" << fooBack.text << "'\n";
  31.  
  32. for(auto& foo : v){
  33. std::cout << "foo.text: '" << foo.text << "'\n";
  34. }
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 4472KB
stdin
Standard input is empty
stdout
foo.text: 'foo 1'
foo.text: 'foo 2'
foo.text: 'foo 3'
fooBack.text: 'foo 3'
foo.text: 'foo 1'
foo.text: 'foo 2'