欢迎光临散文网 会员登陆 & 注册

2-4 const彻底理解 c++ primer 精读

2023-02-23 22:59 作者:namexiaolu  | 我要投稿

int a1 = 123;

int a2 = 456;


//普通指针

int* p1 = &a1;



// 指针常量(p2的指针不可以指向别的,但是能改变他指向的东西的值)

// 思考方法:从右向左(从等号开始),

// 等号左边是p2,也就是一个指针变量,

//   p2左边是const,证明p2这个指针不能变,也就是指向不能变

// 再接着往左看,就是一个普通的int *,就证明他是个int类型指针。

int* const p2 = &a1;

p2 = &a2; //错

*p2 = 789; //对


// 常量指针

// 思考方法:从右向左(从等号开始),

// 等号左边是p22,也就是一个指针变量,

//   p22左边是*,就是个普通的指针变量,可以指向别处

// 再接着往左看,是一个const,这时候不知道他修饰的是谁,

// 接着往左看,是一个int,证明const修饰的int,就是修饰的变量。就是指针指向的值不能变。

int const* p22 = &a1;

p22 = &a2;//对

*p22 = 789;//错


const int* p3 = &a1;

p3 = &a2;//对

*p3 = 7889;//错


const int* const p4 = &a1;

p4 = &a2;//错

*p4 = 890;//错


const int const* p5 = &a1;

p5 = &a2;//对

*p5 = 8990;//错


2-4 const彻底理解 c++ primer 精读的评论 (共 条)

分享到微博请遵守国家法律