立即学习:https://edu.csdn.net/course/play/9598/204704?utm_source=blogtoedu
const 层次
指针本身出是一个对象
一个无法改变的指针,而不是内容
#include"iostream"
#include"Windows.h"
using namespace std;
int main()
{
const int *pival = 0;// 限制了被指向的对象,但是没有限制指针本身----底层
int ival = 4;
cout << "pival:" << pival << endl;
pival = &ival;
cout << "pival:" << pival << endl;
const int cival = 8;
int ival2 = 10;
pival = &cival;
*pival = 56;//不能给常量赋值
int *const pival2 = &ival;// 限制了指针,但是没有限制指针指向的对象(变量)----顶层
pival2 = &ival2;//不能给常量赋值
int const *pival3 = &ival;
pival3 = &ival2;
*pival3 = 56;//不能给常量赋值
const int *const pival4 = &ival;
pival4 = &ival2;//不能给常量赋值
*pival4 = 56;//不能给常量赋值
system("pause");
return 0;
}
地址(指针)顶层
内容(指针指向的对象)底层
const 就近左原则