const & 指针 & 引用

① c与c++中const的不同

1.c中的const

以此代码为例:
在这里插入图片描述

c将n依然看作一个变量

2.c++中的const

以此代码为例:
在这里插入图片描述

c++将n看作一个常量编译时遇见n就用5替换掉

结论:c以变量为主,c++以常性为主。

② const与指针

const修饰指针的指向

注意:指针有两个值:(1.自身的值 2.所指之物的值)

在这里插入图片描述

const修饰指针的指向,没有修饰指针本身(所指之物的值不能改变)

const修饰指针本身

在这里插入图片描述
const修饰指针本身,没有修饰指针的指向(指针本身的值不能改变)

③ const与引用

在这里插入图片描述
常引用只可读不可改

注意:常引用可以用字面常量初始化
在这里插入图片描述

右值引用

(可以取地址的值为左值,相反为右值)
在这里插入图片描述

④ 指针和引用的区别

语法层面

1.指针变量存储某个实例(变量或对象)的地址,引用是某个实例的别名。
2.程序为指针变量分配内存空间,而引用不分配。
3.指针使用时需要解引用(前加*),引用可以直接使用。
4.指针变量自身的值可以改变,引用在定义时就初始化,之后不能再成为另一个变量的别名。
5.指针可以为空,引用没有空引用。
6.sizeof(指针)=4,sizeof(引用)=变量的大小。
7.指针作为形参传递时需要判空,引用不需要。
8.指针的级数没有限制,而引用只有一级。
9.++指针 是指针自身的值改变,指向另一块内存空间。++引用 是变量的值改变。

机器代码层面

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐梦的白鹰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值