关于cmp函数参数中的&符号
原文链接:https://blog.csdn.net/qie_wei/article/details/81135920
关于sort函数中的cmp函数有着不同的写法,以刚刚的整形元素比较为例
还有人是这么写的:
1 bool cmp(const int &a, const int &b){ 2 return a>b; 3 } 4 5 int a[10]; 6 sort(a,a+10,cmp);
思考:int 和const int&有什么区别呢?
原来:作为函数参数:int这种写法是值传递,const int&则是引用传递。
“值传递”——由于函数将自动产生临时变量用于复制该参数,效率较低。
“引用传递”仅借用一下参数的别名而已,不需要产生临时对象。效率较高。
tips:“引用传递”有可能改变参数,const修饰可以解决这个问题。
本文作者:oaoa
本文链接:https://www.cnblogs.com/oaoa/p/11115460.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步