fork download
  1. #include <iostream>
  2.  
  3. int f()
  4. {
  5. int a = 5;
  6. return a;
  7. }
  8.  
  9. int& g()
  10. {
  11. int a = 5;
  12. return a;
  13. }
  14.  
  15. int&& h()
  16. {
  17. return 5;
  18. }
  19.  
  20. int&& i()
  21. {
  22. int a = 5;
  23. return std::move(a);
  24. }
  25.  
  26. int main()
  27. {
  28. int l {f()};
  29. // int& rl {f()};
  30. const int& crl {f()};
  31. int r {std::move(f())};
  32. int&& rr {std::move(f())};
  33.  
  34. std::cout << "kopia " << l << " " << crl << " " << r << " " << rr << std::endl;
  35.  
  36. int l2 {g()};
  37. int& rl2 {g()};
  38. const int& crl2 {g()};
  39. int r2 {std::move(g())};
  40. int&& rr2 {std::move(g())};
  41.  
  42. std::cout << "referencja " << l2 << " " << rl2 << " " << crl2 << " " << r2 << " " << rr2 << std::endl;
  43.  
  44. int l3 {h()};
  45. // int& rl3 {h()};
  46. const int& crl3 {h()};
  47. int r3 {std::move(h())};
  48. int&& rr3 {std::move(h())};
  49.  
  50. std::cout << "u_referencja " << l3 << " " << crl3 << " " << r3 << " " << rr3 << std::endl;
  51.  
  52. int l4 {i()};
  53. // int& rl4 {i()};
  54. const int& crl4 {i()};
  55. int r4 {i()};
  56. int&& rr4 {i()};
  57.  
  58. std::cout << "u_referencja2 " << l4 << " " << crl4 << " " << r4 << " " << rr4 << std::endl;
  59.  
  60. return 0;
  61. }
Runtime error #stdin #stdout 0s 4492KB
stdin
Standard input is empty
stdout
kopia 5 5 5 0