【C++】const和函数参数

一、const

在 C++ 中,const 关键字用于定义常量。将 const 关键字放在指针的不同位置,其含义也不同。

1、指向常量的指针 

const int* ptr;

ptr 是一个指向 const int 的指针,ptr 所指向的值不能通过 ptr 修改,但指针本身可以改变指向的地址。

2、常量指针

int* const ptr;

ptr 是一个常量指针,指针本身不能改变指向的地址,但可以修改 ptr 所指向的值。

3、指向常量的常量指针

ptr 是一个指向 const int 的常量指针,指针本身不能改变指向的地址,且不能通过 ptr 修改其指向的值。

二、传入值参数和传入引用参数的区别

1、传值参数

void func(ComplexType param);

paramComplexType 类型的一个副本。调用函数时,会创建传入对象的副本。对于大型对象,传值参数可能会有较高的性能开销。

2、传引用参数

void func(ComplexType& param);

paramComplexType 类型的一个引用。调用函数时,不会创建副本函数内部对 param 的修改会影响传入的对象。传引用避免了副本的创建,可以提升性能。

3、传常量引用参数

void func(const ComplexType& param);

paramComplexType 类型的一个常量引用。调用函数时,不会创建副本,且函数内部不能修改 param,只能读取。传常量引用避免了副本的创建,同时确保了安全性。

何时需要为传入的引用参数加上 const?

当函数需要读但不需要修改传入的对象时,应使用 const 引用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值