我的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.不能定义引用的引用(引用也是地址),所以当函数的参数为引用时,引用不能作实参。

 

二、复制构造函数

……

 

 

posted @   哪啊哪啊神去村  阅读(328)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示