指向常量 int 的常量指针

pen*_*926 1 c++ pointers constants

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

\n\n
int d=0;\nconst int* const pt = &d;\nd = 3;\ncout << *pt << endl;\n
Run Code Online (Sandbox Code Playgroud)\n\n

该脚本给出了“3”的输出。\n指针 pt 的定义应该解释为“指向常量 int 的常量指针 pt”(至少我这么认为)。但是,当我更改 d 的值时,pt 指向的 int 值也发生了更改\xef\xbc\x8c 那么它怎么会是“指向 CONSTANT int 的常量指针”???

\n\n

非常感谢。

\n

Mat*_*Mat 5

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

由于该指针指向的内容不是 const,因此允许更改。