这个问题已经在这里有了答案:




已关闭10年。






之间有什么区别

A const * pa2 = pa1;


A * const pa2 = pa1;

(例如,我有一些A类)。

最佳答案

从右到左读取类型:

A const * pa2 = pa1;
pa2是指向只读A的指针(该对象可能无法通过指针更改)
A * const pa2 = pa1;
pa2是指向A的只读指针(该指针不可更改)

这并不意味着A无法更改(或实际上是恒定的)const具有误导性,始终将其理解为只读。其他别名指针可能会修改A。

10-06 05:22