解读 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 = 1c = 9 都是错误的,因为 p 指向的是常量,不能修改其值。

const int * const q = &b; 是正确的,因为它定义了一个指向常量的指针常量,指向 b

但是,*q = 5q++ 都是错误的,因为 q 是一个指向常量的指针,不能通过它修改所指向的值,也不能改变其指向。

最后,b = 5 是正确的,因为 b 本身不是常量,可以被修改。

ppt 文件大小:3.07MB