C语言深度解读有哪些关键引用点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1526个文字,预计阅读时间需要7分钟。
引用(reference)是指赋予一个变量一个已存在对象的别名,而不是重新定义一个变量。从语言逻辑角度看,引用不占用额外内存空间,而是与被引用的对象共享同一块内存空间。
什么是引用(reference)
引用不是新定义一个变量,而是给已存在对象取了一个别名,从语言逻辑角度看,引用不占用额外的内存空间,而与被引用的对象共用同一块内存空间。使用引用时,需要注意以下几点:
- 引用在定义时必须初始化;
- 一个变量可以有多个引用;
- C++中的引用一旦初始化便不能转移;
- 在语法逻辑角度,引用不占用额外的内存空间,只是某个对象的别名。
引用的使用场景(意义)
做参数
输出型参数
此时形参是实参的一个别名,形参的改变会影响实参,故可以用引用做输出型参数。相比指针,引用做输出型参数显得更加明了和方便。
void Swap(int& x, int& y)
{
int tmp = x;
x = y;
y = tmp;
}
提高效率
传参时,使用引用可以避免参数的压栈过程,减少拷贝,以提高效率。当面对大对象和深拷贝类对象时,引用传参的效率提升非常明显。
本文共计1526个文字,预计阅读时间需要7分钟。
引用(reference)是指赋予一个变量一个已存在对象的别名,而不是重新定义一个变量。从语言逻辑角度看,引用不占用额外内存空间,而是与被引用的对象共享同一块内存空间。
什么是引用(reference)
引用不是新定义一个变量,而是给已存在对象取了一个别名,从语言逻辑角度看,引用不占用额外的内存空间,而与被引用的对象共用同一块内存空间。使用引用时,需要注意以下几点:
- 引用在定义时必须初始化;
- 一个变量可以有多个引用;
- C++中的引用一旦初始化便不能转移;
- 在语法逻辑角度,引用不占用额外的内存空间,只是某个对象的别名。
引用的使用场景(意义)
做参数
输出型参数
此时形参是实参的一个别名,形参的改变会影响实参,故可以用引用做输出型参数。相比指针,引用做输出型参数显得更加明了和方便。
void Swap(int& x, int& y)
{
int tmp = x;
x = y;
y = tmp;
}
提高效率
传参时,使用引用可以避免参数的压栈过程,减少拷贝,以提高效率。当面对大对象和深拷贝类对象时,引用传参的效率提升非常明显。

