在什么时候需要用到常引用const---情景

目录

1.避免拷贝大对象

2.保持对象的不可变性

3.避免对象的切片问题

4.传递类对象给函数

5.提高函数的泛用性


在C++里面,使用常引用主要就是为了提高我们的程序的效率和安全性;

场景分析:

1.避免拷贝大对象

大对象就是内容量大,占用的内存多,使用普通的引用就会降低我们的程序开发的效率,因为要进行拷贝操作,我们使用const&常引用可以避免这个拷贝的操作,提高我们的程序性能;

2.保持对象的不可变性

就是使用我们的const常引用可以让我们的这个定义的对象无法被其他的人进行修改,提高我们的代码的安全性;

3.避免对象的切片问题

对象的切片指的就是我们的这个我们的派生类给这个基类的时候,我们的这个派生类的成员变量和函数会被丢失,这个就是在进行值传递的时候发生的;

我们使用常引用可以避免这个对象的切片问题,子类的这个函数和变量不会被丢失;

4.传递类对象给函数

这个是C++的精髓,对于默认的成员变量,我们进行默认拷贝构造的时候没有问题,但是当有指针的时候,因为会进行这个默认构造函数的调用,原来的对象和我们的新的拷贝对象公用相同空间,就会出现浅拷贝的问题,这个时候我们需要自己去实现这个拷贝构造函数的编写;

这个就是C++里面的浅拷贝和深拷贝的问题,我们需要自己实现深拷贝,避免这个内存空间的重复释放,这个就会有const&发挥作用;

 

5.提高函数的泛用性

这个泛用性就是可以支持我们的左值引用和右值引用,可以让我们的这个函数接受任意类型的参数,提高泛用性就是接受的参数类型比较多,提高我们的程序的参数普适性;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值