引用做函数参数以及返回值为引用的函数
时间: 2023-12-10 09:05:34 浏览: 68
引用作为函数返回值
5星 · 资源好评率100%
可以通过引用做函数参数和返回值为引用的函数来避免大量的复制和内存占用,提高程序的效率。
例如,下面是一个函数,它接受一个 `std::vector` 的引用作为参数,并返回这个引用:
```cpp
std::vector<int>& processVector(std::vector<int>& vec) {
// 对 vec 做一些处理
// ...
return vec;
}
```
在这个函数中,我们通过引用参数 `vec` 来避免了复制 `std::vector` 对象的开销。同时,我们也通过返回 `vec` 的引用来避免了再次复制 `std::vector` 对象的开销。
调用这个函数的方式如下:
```cpp
std::vector<int> myVec{1, 2, 3};
processVector(myVec); // 在此处处理 myVec
```
需要注意的是,在使用引用做函数参数和返回值时,必须保证被引用的对象在函数调用期间是有效的。如果被引用的对象在函数调用结束后被销毁了,那么引用就变得无效了,这会导致未定义的行为。
阅读全文