C++的引用的简单总结
Posted zuixime0515
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++的引用的简单总结相关的知识,希望对你有一定的参考价值。
引用作为函数参数
很多函数中的参数都是值传递
的方式,这样函数会创建一个临时对象用来保存数据,占用内存开销;而引用不会,并且在特定情况下又是必须的选择;
sample code
:
void swap(int& a, int& b) // 引用参数
{
int t = a;
a = b;
b = t;
}
void main()
{
int a = 5;
int b = 2;
swap(a, b);
}
使用引用作为参数的作用:
- 函数里的形参相当于主调函数里参数的一个别名,操作的对象其实是同一个;
- 引用参数在内存中没有副本,是直接对实参进行操作的;
- 作用和指针一样,但是如果使用指针的话则需要一直使用
*变量名
的操作;
常引用
如果希望提高程序效率,并且让让函数值不改变,则推荐使用常引用
sample code
:
int a;
const int& p_a = a;
a = 3; // 正确
p_a = 2; // 错误
引用作为返回值
使用引用作为返回值,最大的好处在于不会产生被返回的副本,可以节省空间开销
sample code
:
template<class T>
T& max( T& a, T& b)
{
return a < b ? b : a;
}
些许总结
- 引用的目的主要用于参数传递中,用于解决大块数据的传递效率和内存空间分配问题;
- 引用参数可以在函数传递中不产生副本,提高效率并且也可以通过const设置常引用,保证数据不被串改;
- 引用和指针存在一定的区别,但是推荐使用引用,因为可读性高;
以上是关于C++的引用的简单总结的主要内容,如果未能解决你的问题,请参考以下文章