使用类型别名定义一个char类型指针,下面代码中,为什么cstr是一个常量指针?


typedef char *pstring;

const pstring cstr = 0;

“Devil组”引证GPT后的撰写:

  • 在C++中,const修饰符用于定义常量,它可以被用于指针类型,表示指针所指向的内存空间的值不能被修改。在这个例子中,pstring被定义为指向char的指针类型别名,而cstr被定义为一个指针类型的常量,即指针所指向的内存空间的地址不可改变。因此,cstr是一个常量指针,指针所指向的内存空间的值也不可改变。这里0作为一个字面常量赋值给了cstr,表示cstr指向的是一个空指针(即地址为0的内存空间)。

const pstring cstr = 0,相当于 const char * cstr = 0,你都加const了,为啥不是常量指针啊?