概述
所谓的const的含义, 就是该变量为"常数", 不应该也不会去修改它.
void fun(const int ival){
ival = 3; // 编译错误, 无法修改一个const对象.
}
void fun(const int& ival){ // 引用参数
ival = 3; // 编译错误, 无法修改一个const对象.
}
也就是说, 只要对象的声明中带有const标识, 任何有修改其值风险的行为编译器都会提醒你..
const T& 和const T的意义几乎是完全一样的.
但是后者, LZ也知道是要复制一份的, 对于某些巨型类来说复制的速度非常慢, 而且也会有些类型在设计e799bee5baa6e997aee7ad94e78988e69d8331333330343863上拒绝复制(比如说cin和cout).
这种时候为了提升效率, 就需要引用参数, 或者指针了.
如果有修改参数值的必要, 就用一般引用, 表示 "我这个函数有可能会修改你传递过来的参数"
如果仅仅读取参数值, 那么就用const引用, 表示 "我这个函数绝对不会修改你传递过来的参数"
但是, 对于int这样的小型的内置类型来说, 这2这几乎就真的没有差别了, 对于引用通常需要地址来传递, int类型占据的内存和地址一样或者更小(64位机器指针是64位大小)
最后
以上就是独特煎蛋为你收集整理的解释下const引用形参?的全部内容,希望文章能够帮你解决解释下const引用形参?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复