Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int f() {
- int a = 1;
- return a;
- } // всё ок, возвращаем копию
- int& f() {
- int a = 1;
- return a;
- } // dangling reference, возвращаем ссылку на переменную, которая разрушится при выходе, undefined behaviour (UB)
- int& f(int a) {
- return a + 1;
- } // то же самое, (a + 1) это временная величина
- int& f(int& a) {
- return a;
- } // всё ок, передали снаружи величину, её же вернули
- int& f(int& a) {
- return a + 1;
- } // dangling, (a + 1) это новая локальная величина
- int& f(int& a) {
- a += 1;
- return a;
- } // всё ок
- int& f(int& a) {
- int& b = a;
- b += 1;
- return a;
- } // всё ок
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement