T const *p 与T *const p(指针常量与常量指针的区别)
时间:2010-11-12 来源:fly521520sky
Dan Saks的《const T vs.T const》的一文中,有这样一句话:
Although C and C++ read mostly from top-tobottom and left-to-right, pointer declarations read, in a sense, backwards.
即:下面的式子的读法是从右向左读。
T const *p;
<--------- pointer to a const T
T *const p;
<--------- const pointer to a T 一、指针常量 int const *p; p是一个指向整形常量的指针。p内保存的常量的地址可以变,而地址指向的常量不能改变。
T *const p;
<--------- const pointer to a T 一、指针常量 int const *p; p是一个指向整形常量的指针。p内保存的常量的地址可以变,而地址指向的常量不能改变。
int a; |
所以,指针常量定义时必须初始化,因为后面不能更改指针p指向的对象的值。
二、常量指针
int * const p;
p是一个常量指针,其保存的地址不能更改。
int a; |
|
相关阅读 更多 +