栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++

2.1引用的基本使用

作用:引用

语法:数据类型 &别名 = 原名

例:

int a=10;

int &b =a;

则如果输出b则b=10.如果修改b则同时修改a。

2.2引用注意事项

1、引用必须初始化,int &b=a;这个就是初始化。不能int &b;

2、引用初始化后,引用别名就不能更改。例子:

int a=10;int c=20;

int &b=a; //引用a之后就不能引用c否则报错

int &b=c;//此时就会报错。因为之前已经引用a了,初始化后再次引用不对。

2.3引用做函数参数

作用:函数传参时,可以用利用引用技术使形参修饰实参,比指针更简单

优点:可以简化指针修饰实参

//值传递:形参不能改变实参
void mySwap01(int a,int b)
{
    int temp =a;
    a=b;
    b=temp;
}
//地址传递;指针形式。形参可以修改实参
void mySewap02(int *a,int *b)
{
int temp =*a;
*a=*b;
*b=temp;
}
//引用传递;形参也可以修饰实参。除指针外的修饰方式
void mySwap03(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
2.4引用座位函数的返回值

作用:引用可以作为函数的返回值存在的

注意:最好不要返回形参,因为形参存放在栈区第一次调用后会被释放掉,第二次会成乱码。一般调用全区变量或者,static修饰的形参的全局变量。

// 正确调用方法
int& test()
{
    static int a=10;
    return a;
}
int main()
{
    
    int& ref=test(); //正确;ref是test的别名

//引用的函数返回值形式还可以做左值;
test()=100;//输入后全局变量a=test()=ref=100;    

}
2.5引用的本质

本质:引用的本质是在c++内部实现一个指针常量

讲解:

//如果计算机发现引用,编译器自动转化为 int* const ref=&a;
void func(int& ref)
{
    ref = 100; //ref是引用,自动转化为*ref=100;
}
int main()
{
    int a=10;
    int& ref=a;  //自动转化int* const ref=&a
    ref=100;  //自动转化为*ref=100
    func(a);    

    return 0;
}
2.6常值引用

作用:一般解决型参数误操作引用

则一般在引用前面加上const int &ref;则不会再修改别名的参数。

//例子。创建一个子函数
void func(const int &ref)
{
    //ref =100;这是语法错误,会出现佐治不能修改的报错。这样可以达到误操作的方式
    cout<<"打印="< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876025.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号