首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指向常量int的常量指针

指向常量int的常量指针
EN

Stack Overflow用户
提问于 2013-08-03 13:12:18
回答 2查看 255关注 0票数 1

我刚刚开始学习C++中的“常量”概念,我遇到了一个问题:

代码语言:javascript
复制
int d=0;
const int* const pt = &d;
d = 3;
cout << *pt << endl;

这个脚本给出了"3“的输出。指针pt的定义应该解释为“指向常量int的常数指针pt”(至少我认为是这样)。然而,当我改变d的值时,pt所指向的int值也发生了变化,那么它怎么可能是“指向常量int的常量指针”呢?

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-03 13:14:38

指向const的指针并不意味着目标不能更改,它意味着您不能通过该指针修改目标。

因为指针指向的不是const,所以允许更改。

票数 5
EN

Stack Overflow用户

发布于 2013-08-03 13:17:07

如果没有指针pt,您就有了

代码语言:javascript
复制
int d=0;
d=3;

如果没问题的话。

如果您声明了d const,则不能更改它:

代码语言:javascript
复制
const int d=0;
d=3; //ERROR

指针pt不改变可以对d执行的操作。const是一个承诺:我不会改变这一点,但其他东西可能会改变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18033215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档