指向int的const指针的指针

MAG*_*MAG 1 c++ pointers const

有人可以在我的下一个程序中解释一下我写的以下程序是为了理解int*const*var的含义;

#include "iostream"

using namespace std ;

int main(){

int a = 2;

int  * const   x = &a;
int * const * p = &x;

cout << **p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出为2.

我关注的是p指向一个指向int的常量指针,这就是我如何使用它,但我总是研究存储指针需要指针指针.那个程序怎么样呢?我不应该使用

int * const **P
Run Code Online (Sandbox Code Playgroud)

因为这意味着P可能包含某些指针的地址.

我不知道为什么我的代码工作:)

Jos*_*eld 5

  1. int * const是一个" const指向一个"的指针int.
  2. int * const *是一个"指向指针的const指针int".

类型2 指向指针的指针.更具体地说,它是指向指针的const指针.这很好,因为你想指向(x)的指针是const.由于x类型为1,因此获取它的地址会为您提供类型为2的指针.

int * const **将是"指向指向const指针的指针int".计算有多少"指针".三!事实上,这就是如果你拿的地址,你会得到什么p&p.

  • @DanielFischer"到了第七天,上帝用一个指针指向一个指针;所以在第七天他休息了所有的工作.然后上帝赐福第七天,使它成为圣洁,因为在那里他休息了所有的他所做的间接." - 很确定它是怎么回事. (6认同)
  • @SohamChowdhury指针通过一些练习迅速成为第二天性.我的脑袋里有一些箭头指向它们的盒子. (3认同)
  • 但请记住,一旦看到三颗星,就该休息一天了。 (2认同)