解读 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
文件大小:
评论区