fork(1) 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.push_back(Foo("foo 1"));
  20. v.push_back(Foo("foo 2"));
  21. v.push_back(Foo("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.  
  29. std::cout << "fooBack.text: '" << fooBack.text << "'\n";
  30.  
  31. for(auto& foo : v){
  32. std::cout << "foo.text: '" << foo.text << "'\n";
  33. }
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 4552KB
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'
foo.text: ''