我的c++学习(7)引用和复制构造函数
一、引用
什么是引用? 引用又称别名(alias),是一种非常特殊的数据类型。它不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名,也就是
C++系统不为引用类型变量分配内存空间。引用主要用于函数之间的数据传递。
引用定义的格式为: 类型 &引用变量名=已定义过的变量名;
例如: double number ;
double &newnum=number ;
newnum是新定义的引用类型变量,它是变量number的别名,两个变量代表同一块内存。
【例】使用一个函数交换两个数据。
#include<iostream.h> void swap(double & d1,double & d2) //d1和d2是引用型变量 { double temp ; temp=d1 ; d1=d2 ; d2=temp ; } void main(void) { double x , y ; cout<<"请输入x和y的值"<<'\n'; cin>>x>>y ; swap(x,y) ; cout<<"x="<<x<<'\t'<<"y="<<y<<'\n'; }
引用可以作为函数的返回值
一般函数返回值时,要生成一个临时变量作为返回值的拷贝,而用引用作为返回值时,不生成值的拷贝。
【例】采用不同返回方式的求正方形面积函数的比较。
#include<iostream> using namespace std; double temp; double fsqr1(double a){ temp=a*a ; return temp; } double & fsqr2(double a){ temp=a*a ; return temp; } int main(){ double x=fsqr1(5.5);//第一种情况 double y=fsqr2(5.5);//第二种情况 cout<<"x="<<x<<'\t'<<"y="<<y<<endl; return 0; }
几点注意:
1.对数组只能引用数组元素,不能引用数组(数组名本身为地址)。
2.不能定义引用的引用(引用也是地址),所以当函数的参数为引用时,引用不能作实参。
二、复制构造函数
……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗