引用

简介: 引用

1.语法格式


int &别名=原名

#include<iostream>
using namespace std;
int main() {
 int a = 10;
 int& b = a;
 cout << b << endl;
 return 0;
}


2.引用注意事项

#include<iostream>
using namespace std;
int main() {
 int a = 10;
 int& b = a;
 cout << b << endl;
 return 0;
}

在上述代码当中,起了别名之后,如果改变原名的值,那么引用值也会相应变化


3.引用作函数参数

#include<iostream>
using namespace std;
void mySwap(int& a, int& b) {
 int temp = a;
 a = b;
 b = temp;
}
int main() {
 int a = 10;
 int b = 30;
 mySwap(a, b);
 cout << "a=  " <<a<<"    b=  "<<b<< endl;
 system("pause");
 return 0;
}


4.引用作函数的返回值

//返回局部变量引用
int& test01() {
    int a = 10; //局部变量
    return a;
}
//返回静态变量引用
int& test02() {
    static int a = 20;
    return a;
}
int main() {
    //不能返回局部变量的引用
    int& ref = test01();
    cout << "ref = " << ref << endl;
    cout << "ref = " << ref << endl;
    2.5 引用的本质
        本质:引用的本质在c++内部实现是一个指针常量.
        讲解示例:
        结论:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编译器都帮我
        们做了
        //如果函数做左值,那么必须返回引用
        int& ref2 = test02();
    cout << "ref2 = " << ref2 << endl;
    cout << "ref2 = " << ref2 << endl;
    test02() = 1000;
    cout << "ref2 = " << ref2 << endl;
    cout << "ref2 = " << ref2 << endl;
    system("pause");
    return 0;
}
目录
打赏
0
0
0
0
1
分享
相关文章
解决App Installation failed, No code signature found.
解决App Installation failed, No code signature found.
538 0
软件测试中的人工智能:现状与未来
【10月更文挑战第6天】 本文探讨了人工智能在软件测试中的应用,包括自动化测试、智能缺陷分析以及测试用例生成等方面。通过案例分析和未来趋势预测,文章展示了AI如何提高软件测试的效率和准确性,并指出了当前面临的挑战和未来的发展方向。
133 1
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
324 0
Java一分钟之-Spring Cloud Netflix Hystrix:容错管理
【6月更文挑战第9天】Spring Cloud Hystrix是用于微服务容错管理的库,通过断路器模式防止服务雪崩。本文介绍了Hystrix的基本概念,如断路器、线程隔离和fallback机制,并展示了如何快速上手,包括添加依赖、启用注解和编写Hystrix命令。此外,还讨论了常见问题(如断路器打开、资源泄漏和不当的Fallback策略)及其解决方案。通过自定义Hystrix指标监控,可以进一步优化系统性能。理解Hystrix工作原理并适时调整配置,对于构建健壮的微服务至关重要。
315 3
如何将Docker与Kubernetes集成,实现云原生应用程序
在云原生应用程序开发中,Docker和Kubernetes通常是不可或缺的工具。Docker用于容器化应用程序和其依赖项,而Kubernetes用于自动化和编排容器的部署、扩展和管理。下面是如何将Docker与Kubernetes集成
496 0
Flutter框架对热重载在项目里的深度运用,状态热重新加载以及静态字段被延迟初始化【Flutter】
Flutter框架对热重载在项目里的深度运用,状态热重新加载以及静态字段被延迟初始化【Flutter】
《阿里云智能客服知识运营白皮书》电子版地址
白皮书以阿里云智能客服系统为应用标的,面向智能客服中的知识定义、知识应用、知识梳理方法三大环节进行描述和说明,希望为智能客服领域的知识应用提供具备指导性意义的方法论。
273 0
《阿里云智能客服知识运营白皮书》电子版地址
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问