| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 772 人关注过本帖
标题:常量引用作为函数形参的作用,求教,探讨学习。
只看楼主 加入收藏
wolfcan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2021-12-9
结帖率:87.5%
收藏
已结贴  问题点数:5 回复次数:2 
常量引用作为函数形参的作用,求教,探讨学习。
C++小白,可能有些疑问都比较基础,大牛勿怪。
最近边学习C++,边看别人代码,有个疑问。对于常量引用const &作为类的成员函数的参数疑问。比如下面函数

void setParams(const CamParams& cpram);


据我现在的知识水平认为,传递引用参数cpram,那么就可以通过别名cpram修改原来的变量,但前面又加上const限定函数体内不能修改cpram,也即修改不了原变量。感觉这有点矛盾,如果不想修改原变量,干嘛还要引用传参呢?
经过思考,我觉得常量引用做函数参数用途如下:第一,通过引用传参可以避免重新拷贝原变量,节省时间和空间。第二,不想改变原变量,所以加上const是为了防止修改原变量。

请各位伙伴或者大神指点,为什么用常量引用作为函数参数,其有什么用途,主要用于哪些场合呢?谢谢。
搜索更多相关主题的帖子: 函数 修改 变量 引用 常量 
2021-12-21 10:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:5 
两个不相干的问题

引用:可以避免拷贝,另外不是所有类型都允许拷贝;
const:不需要传入对象必须具有可修改的能力,因为函数保证不会去修改它。
2021-12-21 11:06
wolfcan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2021-12-9
收藏
得分:0 
回复 2楼 rjsp
谢谢
2021-12-21 16:10
快速回复:常量引用作为函数形参的作用,求教,探讨学习。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013643 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved