当前位置: 首页 > news >正文

c++初级-2-引用

文章目录

  • 引用
    • 一、引用的定义
    • 二、引用做函数参数
    • 三、引用作为返回对象
    • 四、引用的本质
    • 五、常量引用

引用

即给一个变量起别名。

一、引用的定义

	int a = 10;//引用int& b = a;cout << "a = " << a << endl;cout << "b = " << b << endl;b = 20;cout << "修改后" << endl;cout << "a = " << a << endl;cout << "b = " << b << endl;
/***
输出结果:a = 10
b = 10
修改后
a = 20
b = 20
**/

引用要求

  • 引用必须初始化。
  • 引用之后,不可以更改引用的对象。

二、引用做函数参数

使用形参修饰实参。

#include<iostream>using namespace std;void m_swap(int& a, int& b)
{int temp = a;a = b;b = temp;}int main()
{//int a = 10;//int& b = a;int a = 10;int b = 20;cout << "a = " << a << endl;cout << "b = " << b << endl;m_swap(a, b);cout << "交换后" << endl;cout << "a = " << a << endl;cout << "b = " << b << endl;return 0;
}/***
输出结果;a = 10
b = 20
交换后
a = 20
b = 10
***/

三、引用作为返回对象

  • 不可以返回局部变量的引用。
int& add(int& a,int b)
{int sum = a + b;//错误行为return sum;//正确行为return  a;
}
  • 可以作为左值
add() = 20;

四、引用的本质

引用的本质是指针常量,当使用引用时,编译器会把它转换成指针常量。

五、常量引用

void print(const int& a)
{//使用const后,不能对a进行改修。cout << a << endl;
}
http://www.lryc.cn/news/390059.html

相关文章:

  • 如何清理电脑内存?让电脑运行如飞!
  • [数据集][目标检测]人员状态跑睡抽烟打电话跌倒检测数据集4943张5类别
  • Java8 - Stream API 处理集合数据
  • 漫步5G-A City,一份独属于上海的浪漫
  • SpringBoot 如何处理跨域请求?你说的出几种方法?
  • OV SSL证书年度成本概览:为企业安全护航的经济之选
  • 歌尔气压计SPA06-003在无人机的创新应用
  • python3多文件操作
  • 312. 戳气球
  • 深入理解C++中的锁
  • 压缩pdf文件大小,压缩pdf文件大小软件哪个好
  • 难道 Java 已经过时了?
  • 华为OD机考题(​HJ32 密码截取)
  • 【高考志愿】测绘科学与技术
  • SpringBoot异步接口实现 提升吞吐量
  • C语言快速学习笔记
  • 如何选择易用性高的项目管理软件?
  • vue3基于uni-app 封装小程序request请求
  • YOLO在目标检测与视频轨迹追踪中的应用
  • 版本控制系统:Git 纯应用(持续更新)
  • 从0开始搭建vue项目
  • Java框架常见面试题
  • linux c 应用编程定时器函数
  • 设备调试上位机GUI
  • 项目管理系统厂商:奥博思发布《项目管理系统助力 IPD 高效落地》演讲
  • Java项目总结1
  • Java中的类加载机制详解
  • SwiftUI 中 Grid 内多个 NavigationLink 同时发生导航之诡异问题的解决
  • 51单片机第21步_将TIM0用作两个8位定时器同时将TIM1用作波特率发生器
  • API-元素尺寸与位置