如下定义: int i = -1; const int ic = i; int *const cpi = ⁣ const int *const cpic = ⁣ 在编译到int *const cpi = &ic时出错,请问*const的对象是否不能反向const的对象呢?但cipic却可以指向const的对象ic,有谁可以说说为什么吗?
int *const 是指向 int的指针,但是这个指针是const,所以不能用它指向const int
但是你可以用
int *const cpi = (int *const)&ic来强制指向它。
const int *也就是int const *,是指向const int 的指针,指针可以被修改,但是指向的内容不能被修改。所以
const int *cpic=&ic是可以的
而
const int *const 是指向const int的指针,指针也是const的,也就是说,指针也不能修改。