C++ 指针和const指针赋值

C++ 指针和const指针赋值一简单示例inta;constintc_a=1;int*p;p=&a;p=&c_a;//error即非const指针不能指向const数据(数据为非指针类型)。inta;constintc_a=1;constint*p1;p1=&a;p1=&c_a;即const指针既可以指向co…

大家好,又见面了,我是你们的朋友全栈君。

一 简单示例

int a;
const int c_a = 1;

int* p;
p = &a;
p = &c_a; // error

即非const指针不能指向const数据(数据为非指针类型)。

int a;
const int c_a = 1;

const int* p1;
p1 = &a;
p1 = &c_a;

即const指针既可以指向const数据又可以指向非const数据(数据为非指针类型)。


// 一层间接关系
int* p;
const int* p1;

p1 = p;

// 二级间接关系
int** p2;
const int** p3;

p2 = &p;
p2 = &p1; // error

p3 = &p;  // error
p3 = &p1;

p3 = p2;  // error

vs中关于上面三个错误的提示信息如下:

C++ 指针和const指针赋值

所以,在二级间接关系中,数据为指针时,const指针赋值表现的并不一致(p3 = &p不通过,p3 = p2不通过)。

二 综上

如果数据类型本身并不是指针,则可以将const数据或非const数据的地址赋给指向const的指针,但只能将非const数据的地址赋给非const指针。二级间接关系中,需要注意const指针的赋值。

三 参考

C++ primer plus 第6版

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python十进制转换_Python 进制转换

    python十进制转换_Python 进制转换提到进制转换这里需要了解int()这个内置函数,大多数人都会这样用:int(x)其目的一般是将x字符串转化为整数,int()除了这个作用外,还可以将其他进制数转化为十进制数,Python内置函数官方文档从官方文档中我们可以得知内置函数:int(x,base=10)山东掌趣网络科技第二个参数默认base=10,页就是我们常用的字符串转换为十进制整数,由此,我们改变第二个参数可以将其他进制的数转…

    2022年5月12日
    50
  • Proteus仿真–51单片机最小系统

    Proteus仿真–51单片机最小系统1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。下面着重介绍时钟电路和复位电路。1)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式的原理电路如图所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值

    2022年6月23日
    25
  • linux phpstorm 在线激活码 2021【中文破解版】

    (linux phpstorm 在线激活码 2021)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~FDZIAAVGQ5-eyJsaWNlbnNlSWQiOi…

    2022年3月28日
    53
  • hey,你的CommonJS规范

    hey,你的CommonJS规范

    2021年6月13日
    108
  • emwin移植1「建议收藏」

    emwin移植1「建议收藏」声明:本文是转载的  原文地址:https://blog.csdn.net/wangyijieonline/article/details/76795084 之所以转载,就试为了做一个笔记而已,也为方便后来人,对原作者表示感谢 然后有了一个正常显示的demo还不够,还必须要准备好这么几个函数,后面要用到。 1,LCD_DrawPoint(x,y,PixelIndex);//画点…

    2022年10月15日
    0
  • RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性

    RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性本章,我们讨论有关RabbitMQ的容错性,消息一致性及高可用性。RabbitMQ可以作为集群节点来运行,因此RabbitMQ通常被归为分布式消息系统,对于分布式消息系统,我们的关注点通常是一致性与可用性。我们为什么要讨论分布式系统的一致性与可用性,本质在于两者描述的是系统在失败的情况下表现如何。单节点持久化原语持久化消息队列/交换器RabbitMQ支持两种类型的消息队列:持久化队列和非持…

    2022年7月25日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号