一、函数返回值不能是 " 局部变量 " 的引用或指针
1、引用通常做右值
之前使用 引用 时 , 都是作为 右值 使用 , 引用只在 声明 的 同时 进行初始化时 , 才作为左值 ,
// 定义变量 a...引用 是 谁的 ,
如果 是 在 函数内部 栈内存 中创建的 变量的 地址 / 引用 , 那么 函数执行结束 , 返回时 , 该 栈内存直接被回收了 , 地址 / 引用 指向的内存空间可能就是随机值 ;..., 该 函数对应的 栈内存 会被回收 , 相应的 局不变量 地址 也有没有了意义 ,
此时 , 再持有一个没有意义的 引用 / 指针 , 取出的值是随机无意义的值 ;
二、代码示例 - " 局部变量..., 该 指针 是 局部变量 的指针 ;
上述两个函数是无意义的 , 获取到 函数 返回的 " 局部变量 " 的 引用 或 指针 , 然后获取地址 , 发现获取的都是随机值 , 都是无意义的值 ;
num21...();
// 函数返回 int 类型引用
// 将 引用 赋值给 num2 变量
// 此处 使用 变量 接收引用值 ,
// 会自动将引用值对应的内存数据 10 取出来 , 赋值给变量