常量引用作为函数形参的作用,求教,探讨学习。
C++小白,可能有些疑问都比较基础,大牛勿怪。最近边学习C++,边看别人代码,有个疑问。对于常量引用const &作为类的成员函数的参数疑问。比如下面函数
void setParams(const CamParams& cpram);
据我现在的知识水平认为,传递引用参数cpram,那么就可以通过别名cpram修改原来的变量,但前面又加上const限定函数体内不能修改cpram,也即修改不了原变量。感觉这有点矛盾,如果不想修改原变量,干嘛还要引用传参呢?
经过思考,我觉得常量引用做函数参数用途如下:第一,通过引用传参可以避免重新拷贝原变量,节省时间和空间。第二,不想改变原变量,所以加上const是为了防止修改原变量。
请各位伙伴或者大神指点,为什么用常量引用作为函数参数,其有什么用途,主要用于哪些场合呢?谢谢。