/* Module: 常量指针与指针常量.cpp Notices: Copyright (c) 2017/5/11 Landy */ #include <iostream> using namespace std; int main() { int a = 100, b = 200; // 常量指针 const int *pConstPointer; pConstPointer = &a; cout << *pConstPointer << endl; // 读权限 // (*pConstPointer)++; // 写权限 错误:不能给常量赋值 pConstPointer = &b; // 修改指针指向的对象 /*总结:常量指针可以修改指向的对象,但只有读权限,而没有写权限*/ // 指针常量 int * const pPointerConst = &a; // 指针常量必须定义时初始化 cout << *pPointerConst << endl; // 读权限 (*pPointerConst)++; // 写权限 // pPointerConst = &b; // 指针常量不能修改指向的对象 /*总结:指针常量拥有读、写权限,但不可以修改指针指向的对象*/ // 指向常量的指针常量 const int * const pConstPointerConst = &a; // 定义指向常量的指针常量时必须初始化 cout << *pConstPointerConst << endl; // 读权限 // (*pConstPointerConst)--; // 写权限 // pConstPointerConst = &b; // 不能修改指向的对象 /*总结:指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限*/ getchar(); return 0; } /* 结论: 1、常量指针可以修改指向的对象,但对对象只有读权限,而没有写权限 2、指针常量拥有对对象的读、写权限,但不可以修改指针指向的对象 3、指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限 */
时间: 2024-10-10 10:22:56