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

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 ;

相关文章:

  • XMOS的多项音频技术创新将大模型与边缘AI应用密切联系形成生态化合
  • Map 和 Set
  • 类与对象C++详解(中)-----构造函数与析构函数
  • 大数据学习(46) - Flink按键分区处理函数
  • dl学习笔记(11):VGG,NIN,GooleNet经典架构pytorch实现
  • 跳跃游戏 II - 贪心算法解法
  • nacos2.0.4源码启动
  • win11系统 Docker Desktop提示Docker Engine stopped解决全过程记录
  • PHP 数组与数据结构详解
  • 【NLP 22、语言模型 language model】
  • Kotlin 扩展
  • 排序与查找算法(C语言实现)
  • 【Linux开发工具】调试器-gdb
  • 【动态路由】系统Web URL资源整合系列(后端技术实现)【nodejs实现】
  • 代码随想录算法【Day46】
  • PHP处理大文件上传
  • 搜广推校招面经十六
  • es和kibana安装
  • WEB安全--SQL注入--堆叠注入
  • 53倍性能提升!TiDB 全局索引如何优化分区表查询?
  • 上海这场有温度的“人才集市”,为更多人才搭建“暖心桥”
  • 有关“普泽会”,俄官方表示:有可能
  • 80后女博士黄双燕拟提名为内蒙古盟市政府(行署)副职人选
  • 中国纪检监察刊文:力戒形式主义官僚主义关键是要坚持实事求是
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 官方通报汕头违建豪宅“英之园”将强拆:对有关人员严肃追责问责