C++笔记之一:多级指针的型别转换问题

本文详细介绍了C++中关于多级指针的型别转换规则,包括指针必须满足的相似条件,如相同的基型别和指涉级数,以及cv-量化饰词的匹配规则。通过实例解释了三级指针和二级指针的转换情况,为理解C++的指针转换提供了清晰的指导。
摘要由CSDN通过智能技术生成

一、规则

在C++标准中,规定了量化饰词相关的型别转换规则。在满足以下条件的前提下,在型别转换中允许向多级指针的非首级指针型别上添加cv-量化饰词(const、volatile):
1、指针型别相似。指针具有相同的基型别,并且拥有相同的指涉级数(“*”的个数)。
2、对所有的j > 0,若const存在于“cv1,j”中,那么const也要存在于“cv2,j”中。(对volatile也有同样的要求)
3、对所有的j > 0,若“cv1,j”与“cv2,j”不同,那么对于所有的0 < k < j,都要求const存在于“cv2,k”中。

二、解释

考虑下面的3级指针:

// 0 <= j <= 3,注释用cvj表示
int * * * const cnnn = 0; // cv0=const, cv1=none, cv2=none, cv3=none
int * * const * ncnn = 0; // cv0=none, cv1=const, cv2=no
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萌哒哒虎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值