引用

引用做函数的返回值

不要返回局部变量的引用
// 错误
int& test01(){
  int a = 10;
  return a;  // 局部变量在栈区,函数执行完会被释放
}

// 正确
int& test01(){
  static int a = 10;
  return a;  // 静态变量在全局区,在程序结束后系统释放
}
函数的调用可以作为左值(函数可以被等号复制)
int& test01(){
  static int a = 10;
  return a;
}
int &b = test01();
test01() = 1000;  // b的值为1000

引用的本质: 在C++内部实现是一个指针常量

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引用 参考文档 在C++中,引用相当于为变量起了个别名。引用和指针一样,是一种复合类型(compound type...
    木头石头骨头阅读 172评论 0 1
  • 引用铺垫:变量名 变量名实质上是一段连续存储空间的别名,是一个标号(门牌号),在程序中是通过变量来申请并命名内存空...
    VincentH_0ef7阅读 220评论 0 0
  • 2.1 引用的基本使用 **作用: **给变量起别名 语法: 数据类型 &别名 = 原名 示例: 2.2 引用注意...
    计研社阅读 141评论 0 1
  • C++是在C语言的基础上发展来的。C++除了有C语言的指针外,还增加一个新的概念——引用,初学者容易把引用和指针混...
    萧潇公举阅读 8,597评论 1 5
  • 本文原名《Rvalue Refernces, Move Semantics, and Perfect Forwar...
    金戈大王阅读 4,267评论 2 6