c++引用的一些注意点,以及const作用汇总。

本文详细介绍了C++中的引用特性,包括类型一致性、初始化要求、不可二次赋值、引用作为参数及返回值的使用,以及const引用的作用。强调了引用作为变量别名的性质,其不占用额外内存,提高了程序效率。同时,讨论了引用在函数参数传递中的行为,特别是作为形参时如何与实参结合。

引用实际上就是给变量起个别名
1.引用的类型必须与其绑定的类型一致,说通俗一点就是给人取别名就得取个人用的,而不能起个动物用的。

double a=10.3;
int &b=a;//报错,一个double,一个int类型。

2.声明&的同时必须对其初始化,别的还兴许有点余地,但这个绝对不行,不初始化就立即报错。

int main(){
   int &a;//报错,未初始化
   int &a=10;//仍然报错,哎,不对啊,我不是初始化了吗?我们还得从定义下手,声明就是起别名,只能给变量起别名,10是常量,怎么取别名?
   int a1;
   int &a=a1;//这个才是正确的写法。

3.引用相当于一个变量的别名,因此不能用此别名去给别的变量当别名,这一点和指针不同。
4.引用并未开辟一块新的内存空间,极大的提高了程序效率。
5.当返回一个引用时,要注意被引用的对象不能超出作用域。所以返回一个对局部变量的引用是不合法的,但是,可以返回一个对静态变量的引用。

const int& func() { //最好写上const,养成好习惯。
   int q;
   //! return q; // 在编译时发生错误
   static int x;
   return x;     // 安全,x 在函数作用域外依然是有效的
}
const作用:
1.类型方面。
2.防止数据被修改,使其处于只读状态,这也就说通了,为什么数组和字符都是常量,因为我们不能随意修改。

6.当引用作为形参时,形参的初始化不在类型定义的时候进行,而是在执行主调函数中的调用表达式,才为形参分配内存空间,同时用实参来初始化形参,这样引用类型的形参就通过形实结合,成为了实参的一个别名,对形参的任何操作也就是直接对实参的操作。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ad_m1n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值