🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 按值传递参数 调用函数时,会生成一个实参对象的一个临时(局部)副本,当函数返回时,临时的栈变量就会被销毁 ## 按引用传递参数 1. 大型对象或者具有大量构造函数的对象进行按值传递,会消耗大量不必要的机器周期和时间 2. 在C语言中,可通过指针传递对象,避免这类对象的复制,但是指针的语法与使用对象的语法有所不同,并且指针容易引起数据的崩溃 3. 引用传值提供了与指针传递参数相同的性能,且函数内的改变会影响到传入的对象 实例 ``` void swap(int& a,int& b){ //code } ``` ## 引用参数声明为 const 引用 此操作就是通知编译器,要确保函数不会师徒改变这个对象 实例 ``` void chang( const QString& a){ // 会报错 a =a+"asd"; } ```