解读 C++ 中指向常量的指针常量
让我们来理解指向常量的指针常量。假设我们定义了变量 int b 和常量 const int c = 6。
首先,int * f = &c; 是错误的,因为我们不能用指向普通变量的指针去指向常量。
其次,int * const p = &c; 也是错误的,因为它定义了一个指针常量,指向一个常量,但指针类型不匹配。
int const * k = &c; 是正确的,它定义了一个指向常量的指针,可以指向 c。
const int * const p = &c; 也是正确的,它定义了一个指向常量的指针常量。
需要注意的是,p++、*p = 1 和 c = 9 都是错误的,因为 p 指向的是常量,不能修改其值。
而 const int * const q = &b; 是正确的,因为它定义了一个指向常量的指针常量,指向 b。
但是,*q = 5 和 q++ 都是错误的,因为 q 是一个指向常量的指针,不能通过它修改所指向的值,也不能改变其指向。
最后,b = 5 是正确的,因为 b 本身不是常量,可以被修改。
文件大小:3.07MB
评论区