C++学习之引用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++学习之引用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1958字,纯文字阅读大概需要3分钟。
内容图文
![C++学习之引用](/upload/InfoBanner/zyjiaocheng/839/f992bc3c301d49e698e3d0694207aad6.jpg)
引用就是为变量取一个别名(外号)。 所以, 当声明一个引用时,必须要用一个变量来初始化,因为要先存在一个变量才能对它取别名。当操作变量的引用(变量的别名)时,等同于操作变量本身。
引用的声明: 类型名 &引用名 = 已定义的变量名;
从上面还可以看出,变量的引用和变量本身占据同一内存单元。
引用作为函数参数:返回值类型名 函数名(类型名 &形参名){ 函数体 }
void swap1(int num1, int num2) //形参实现了交换,实参没变
{
int temp = 0;
temp = num1;
num1 = num2;
num2 = temp;
}
void swap2(int *num1, int *num2) //访问实参地址交换实参的值
{
int temp = 0;
temp = *num1;
*num1 = *num2;
*num2 = temp;
}
void swap3(int &num1, int &num2) //形参是实参的引用,操作形参等同于直接操作实参
{
int temp = 0;
temp = num1;
num1 = num2;
num2 = temp;
}
int main()
{
int num1 = 3, num2 = 9;
int &n = num1, &m = num2; //给num1取别名为n 给num2取别名为m
cout << "num1 = " << num1 << " num2 = " << num2 << endl;
swap1(num1, num2); //没实现交换 num1 = 3 num2 = 9
cout << "num1 = " << num1 << " num2 = " << num2 << endl;
swap2(&num1, &num2); //实现了交换 num1 = 9 num2 = 3
cout << "num1 = " << num1 << " num2 = " << num2 << endl;
swap3(n, m); //实现了交换 num1 = 3 num2 = 9
cout << "num1 = " << num1 << " num2 = " << num2 << endl;
return 0;
}
引用作为函数参数的作用效果和指针作为函数参数的效果一样,但前者方法容易且不易出错。
使用引用返回函数值:类型名 &函数名(参数列表){ 函数体 }
通常一个函数是不能直接用在赋值运算(“=”)的左边的,但使用引用返回函数值时可以将该函数调用放在赋值运算的左边。
#include<iostream>
using namespace std;
int a[] = {1, 3, 5, 7, 9}; //全局变量
int &arr(int index) //声明函数 返回一个整数类型的引用
{
return a[index]; //等价于返回a[index]
}
int main()
{
//若函数为int arr(int index)则会报错,因为它返回的是一个整数5,是不可修改的常量
arr(2) = 11; //等价于a[2] = 11
cout << arr(2) << endl; //输出11
return 0;
}
内容总结
以上是互联网集市为您收集整理的C++学习之引用全部内容,希望文章能够帮你解决C++学习之引用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。