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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm 使用git(git管理工具的安装与使用)

    该篇主要介绍在webstorm中怎么使用git工具,需要学习git的请找别的教程,具体的目前只介绍常用的代码拉取和提交,后续在进行更新(不一定会)webstorm中的git操作主要在VCS中;判断项目中是否有git仓库,下面两个图项目文件夹有没有git仓库,鼠标点击VCS时如下图所示;没有git仓库有git仓库3.新建git仓库,如下图,点击CreateGitRe…

    2022年4月13日
    719
  • IntelliJ IDEA 修改内存大小,使得idea运行更流畅。

    IntelliJ IDEA 修改内存大小,使得idea运行更流畅。IntelliJIDEA使用教程(总目录篇)idea有个配置文件,可以设置内存大小的,就跟咱的jvm的内存里面的堆大小,栈大小等等,可以设置的,而且设置了之后,你这个的性能就会得到提升。具体看下面怎么修改。先说所要修改的文件idea.vmoptions的位置,这个不同的平台,估计名称可能有些差别。mac的如下图具体怎么找到这个地方的,刚刚使用mac的估计不会,老手就会啦,…

    2025年7月24日
    3
  • hashmap遍历取值_java map遍历

    hashmap遍历取值_java map遍历HashMap遍历取值

    2025年10月16日
    3
  • APK签名原理

    APK签名原理网上已有多篇分析签名的类似文章,但是都有一个共同的问题,就是概念混乱,混乱的一塌糊涂。在了解APK签名原理之前,首先澄清几个概念:消息摘要-MessageDigest简称摘要,请看英文翻译,是摘要,不是签名,网上几乎所有android签名分析的文章都对这两个概念乱用摘要的链接http://en.wikipedia.org/wiki/Message_digest简

    2022年6月12日
    29
  • TTL232和RS232的区别

    逻辑电平定义不同:TTL232的0是用0v表示。1是用5V表示。RS232的0是用+3V–+15V表示,1是用-3V—15V表示。接口一般都用三根线,1:地线。2:写入。3:导出。他们不可直连,中间需接电平转接板,…

    2022年4月9日
    62
  • Android apk中so库文件未压缩

    Android apk中so库文件未压缩背景:升级AS3.6.1,并且升级projectbuild.gradleAGP到3.6.1,一个项目发现打包后文件骤然增大,查看apk包,发现apk包中so库文件未被压缩.但是一个类似项目,相同版本却没有问题升级前升级后升级后RawFileSize正好是未压缩的大小可能原因不同版本AGPgradlebuildtask实现不一样,再某情况下回不进行…

    2022年6月15日
    27

发表回复

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

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