函数返回引用深度解析
C++引用使用时的难点:
- 当函数返回值为引用时, 若返回局部变量,不能成为其它引用的初始值,不能作为左值使用
- 返回静态变量 或 全局变量的引用, 可成为其他引用的初始值, 也可以作为左值, 也可作为右值
- 返回函数的普通形参作为引用, 不能作为其他引用的初始值, 不能作为左值使用
- 返回函数的引用形参作为引用, 可成为其他引用的初始值, 也可以作为左值, 也可作为右值
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int demo1() {
int i = 0;
//printf("i 的地址: %p, i=%d\n", &i, i);
return i;
}
int &demo(int *