当前位置: 首页 > article >正文

C++ references

 C++复杂在于提供了太多的内存模型 

或者说: 提供了两种东西:

1、可以放对象的地方:

  • 堆栈
  • 全局数据区里

2、提供了很多访问对象的方式

  • 变量是对象
  • 指针访问对象
  • 引用来访问对象

3 * 3 = 9 种访问对象的方式

规则

引用一般初始化,初始值必须是变量或者左值引用

  • 要求变量是local  or global是必须初始化
  • 若引用是类成员data,则在initialise list 中初始化

引用也是一个变量的别名,引用即建立了绑定

int x = 3;
int& y = x;
const int& z = x;    // 对比 const int* z = x   不能通过z来改变x的值
z = 10                // invalid
/*
function argument
*/
void f(int& x);

f(y);  

一个引用必须有一个指向的地址

void func(int & x){}
func(i * 3);   // error! 不能传临时的结果

一个函数的结果是reference ,只要是reference就可以做左值

int x;
int & h() { return x ;}

h() = 16 ;


http://www.kler.cn/a/547911.html

相关文章:

  • SQLMesh 系列教程4- 详解模型特点及模型类型
  • TongETLV3.0安装指引(by lqw)
  • 1-8 gitee码云的注册与使用
  • OpenAI发布新模型及会员订阅计划:o3-mini、GPT-4.5与GPT-5的全新体验
  • 如何学习Elasticsearch(ES):从入门到精通的完整指南
  • 【读点论文】Rewrite the Stars将svm的核技巧映射到高维空间,从数理逻辑中丰富特征维度维度
  • 【MySQL】第五弹---数据类型全解析:从基础到高级应用
  • 标贝科技参编国内首个AIGC大模型功能测试标准
  • 2025年二级建造师报名流程图解
  • 借助 OpenCV 库实现实时的脸部识别
  • 2月15日星期六今日早报简报微语报早读
  • 08模拟法 + 技巧 + 数学 + 缓存(D1_模拟法)
  • html css js网页制作成品——HTML+CSS+js情人节网页设计(5页)附源码
  • vue+springboot+webtrc+websocket实现双人音视频通话会议
  • 仿 RabbitMQ 消息队列6(实战项目)
  • DeepSeek 从入门到精通学习指南,2025清华大学《DeepSeek从入门到精通》正式发布104页pdf版超全解析
  • CAS单点登录(第7版)16.模仿
  • 如何使用Three.js制作3D月球与星空效果
  • Deesek:新一代数据处理与分析框架实战指南
  • TypeScript type 和 interface 的区别