Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. int f() {
  2.     int a = 1;
  3.     return a;
  4. } // всё ок, возвращаем копию
  5.  
  6. int& f() {
  7.     int a = 1;
  8.     return a;
  9. } // dangling reference, возвращаем ссылку на переменную, которая разрушится при выходе, undefined behaviour (UB)
  10.  
  11. int& f(int a) {
  12.     return a + 1;
  13. } // то же самое, (a + 1) это временная величина
  14.  
  15. int& f(int& a) {
  16.     return a;
  17. } // всё ок, передали снаружи величину, её же вернули
  18.  
  19. int& f(int& a) {
  20.     return a + 1;
  21. } // dangling, (a + 1) это новая локальная величина
  22.  
  23. int& f(int& a) {
  24.     a += 1;
  25.     return a;
  26. } // всё ок
  27.  
  28. int& f(int& a) {
  29.     int& b = a;
  30.     b += 1;
  31.     return a;
  32. } // всё ок
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement