<span>指针常量和常量指针</span>
指针常量(const int *ptr):
指针所指向的对象是一个常量,无法通过访问该指针来改变该对象的值,但是我们可以通过其他方式去改变该对象,比如直接改变该对象的值。
#include<iostream>int main() { int i = 42; int *r1 = &i; const int *r2 = &i; std::cout << *r1 << std::endl; i = 1; std::cout << *r2 << std::endl; return 0; }
常量指针(int *const ptr):
该指针本身是一个常量。常量指针必须被初始化,而且一旦初始化,它的值(即该指针存放的地址)不能再发生改变,但可以改变该地址存放的对象的值。
参考:C++ Prime 第五版