C++ 在C++;?

C++ 在C++;?,c++,C++,可能重复: 两者的区别是什么 A const * pa2 = pa1; 及 (例如,我有一些A类)。从右到左阅读类型: A const * pa2 = pa1; pa2是指向只读a的指针(不能通过指针更改对象) pa2是指向的只读指针(指针不能更改) 这并不意味着不能更改(或实际上是常量)常量具有误导性,请始终将其理解为只读。其他别名指针可能会修改类型。从右到左读取类型: A const * pa2 = pa1; A const * pa2 pa2是指向只读a的指针(不能通过指针更改对

可能重复:

两者的区别是什么

A const * pa2 = pa1;


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

从右到左阅读类型:

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

pa2
是指向的只读指针(指针不能更改)


这并不意味着不能更改(或实际上是常量)常量具有误导性,请始终将其理解为只读。其他别名指针可能会修改类型。从右到左读取类型:

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

pa2
是指向的只读指针(指针不能更改)

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

A const * pa2
这是指向常量a的非常量指针。您可以更改指针指向的位置,但无法更改指针指向的对象

A * const pa2
A const * const pa2
这是指向非常量a的常量指针。您不能更改指针指向的位置,但可以更改指针指向的对象

A * const pa2
A const * const pa2
这是指向常量a的常量指针。您不能更改指针指向的位置,也不能更改指针指向的对象

A * const pa2
A const * const pa2

你可能会发现在试图破解C和C++中的声明时有帮助。 这是指向常量a的非常量指针。您可以更改指针指向的位置,但无法更改指针指向的对象

A * const pa2
A const * const pa2
这是指向非常量a的常量指针。您不能更改指针指向的位置,但可以更改指针指向的对象

A * const pa2
A const * const pa2
这是指向常量a的常量指针。您不能更改指针指向的位置,也不能更改指针指向的对象

A * const pa2
A const * const pa2

你可能会发现在C和C++中破译声明是有用的。

< P>这意味着第一个是指向一个const对象的指针,(松散地)表示对象不能改变。
第二个是指向对象的常量指针,这意味着指针本身不能更改(即分配给不同的对象)。

这意味着第一个是指向常量对象的指针,这(松散地)意味着对象不能更改


第二个是指向一个对象的常量指针,这意味着指针本身无法更改(即分配给另一个对象)。

重复的(我知道以前有人问过这个问题,我只是花了一段时间才找到它):-p)重复的(我知道以前有人问过这个问题,我只是花了一段时间才找到它:-p)+1:非常有用的链接-谢谢。