C++引用/枚举/typedef/头文件/预编译器/自定义头文件

本文介绍了C++中的引用,强调了引用是对象的别名,且一旦初始化后不能改变绑定的对象。讨论了const引用的特性,以及typedef用于创建类型别名的作用。枚举的概念和使用也被提及,同时提到了类和结构体在访问权限上的区别。此外,文章还涵盖了头文件的正确使用,包括防止多重包含的预处理器技巧和const变量在头文件中的处理方式。
摘要由CSDN通过智能技术生成

引用是别名
int &refVal2;//引用类型定义必须初始化
int &refVal3 = 10;//引用初始化必须是对象
当初始化后,只要改引用存在,他就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。
要理解重要概念是引用只是对象的另一个名字。
初始化是指明引用指向哪个对象的唯一方法。

定义多个引用
可以在一个类型定义行中定义多个引用。必须在每个引用标识符前添加”&”符号。

const引用 //————需要仔细研读
指向const对象的引用。
const int ival = 1024;
const int &refVal = iVal;
int &ref2 = ival// error: const引用指向const对象。
const引用可以初始化不同类型对象或者初始化为右值。
const 引用可以初始化为不同类型的对象或者初始化为右值,如字面值常量。
int i = 42;
const int &r = 42;
const int &r2 = r + i;
同样的初始化对于非const引用却是不合法的,而且会导致编译时错误。其原因非常微妙,值得解释一下。
引用绑定到不同的类型时所发生的事情,最容易理解为上述行为。假如我们编写。
double dval = 3.14
const int &ref = dval;
编译器会把这些代码转换为以下形式编码:
int temp = dval ;
const int &ri = temp;
如果 ri不是const ,那么可以给ri赋一个新值。这样做不会修改dval࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值