首页 技术 正文
技术 2022年11月7日
0 收藏 431 点赞 555 浏览 987 个字

一,C++中引用的基础知识

1.引用的基本概念

  1.所谓的引用其实就是对变量起“别名”。引用和变量对应得是相同的内存,修改引用的值,变量的值也会改变,和指针类似。

  2.引用在定义的时候必须要初始化,初始化后就用引用的对象绑定在一起了。

  3.引用本身不是对象,不能定义引用的引用。

2.引用的意义

  1.引用作为其他变量的别名存在,因此在一些场合可以用来替代指针。

  2.引用相对于指针来说具有更好的可读性和实用性。

3.引用的定义方式

  数据类型 &引用名称 = 变量;

# include<iostream>
using namespace std;int main()
{
// 定义变量a
int a = ;
// 定义引用b
int &b = a; return ;
}

二,引用的本质

1.引用的本质剖析

# include<iostream>
using namespace std;int main()
{
// 定义变量a
int a = ;
// 定义引用b
int &b = a;
// 引用一旦初始化,就不再改变本身所绑定的对象,因此引用很想一个const修饰的常量
cout << "&a = " << &a << endl;
cout << "&b = " << &b << endl;
// 通过打印地址,发现变量和引用的地址相同,因此引用本质是一个指针 return ;
}

2.引用的本质分析

  1.引用的初始化之后不允许被修改,因此引用是一个常量。

  2.引用的地址和变量本身的地址一样。因此引用是一个指针。

  3.引用的本质是一个常量指针,只是C++编译器帮助我们进行了自动取地址操作和解引用操作。

  4.上述的案例的本质:int &b = a; 相当于 int * const b = &a;

三,引用的重点

1.引用作函数参数

  引用作函数参数可以用来替代指针,在函数内部操作引用,就可以修改函数外部变量的值。

2.引用作函数返回值(此处涉及类的拷贝构造函数)

  引用作函数返回值,如果返回的是栈变量,则实际返回的是该变量的一份拷贝。

3.指针引用

  引用是指针类型的,例如:Teacher teacher = {“王刚”,21};Teacher * &t = &teacher;

4.常引用

  使用变量初始化引用,使引用具有只读属性,保护了引用所指向的对象,防止被函数内部修改。

  使用字面量初始化引用,例如:const int &a = 10;是可以的,这里会在编译期间对字面量常量分配内存空间,在上一节的const中有提过。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,966
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,487
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,332
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,115
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,748
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,783