引用传值/指针传值
最后更新于:2022-04-02 02:07:43
[TOC]
## 按值传递参数
调用函数时,会生成一个实参对象的一个临时(局部)副本,当函数返回时,临时的栈变量就会被销毁
## 按引用传递参数
1. 大型对象或者具有大量构造函数的对象进行按值传递,会消耗大量不必要的机器周期和时间
2. 在C语言中,可通过指针传递对象,避免这类对象的复制,但是指针的语法与使用对象的语法有所不同,并且指针容易引起数据的崩溃
3. 引用传值提供了与指针传递参数相同的性能,且函数内的改变会影响到传入的对象
实例
```
void swap(int& a,int& b){
//code
}
```
## 引用参数声明为 const 引用
此操作就是通知编译器,要确保函数不会师徒改变这个对象
实例
```
void chang( const QString& a){ // 会报错
a =a+"asd";
}
```
';