C++学习——const和*的组合关系

1、const 关键字出现在 * 的左边:指针指向的内容不能被修改。

2、const 关键字出现在 * 的右边:指针本身不能被修改。

3、const 关键字出现在 * 的两边:指针指向的内容和指针本身都不能被修改。

include <iostream>

using namespace std;
int main()
{
int a=1;
int b;

/**指向const的指针,指针指向的内容不能被修改**/
const int *p1;
int const *p2;

/**const指针,指针本身不能被修改,必须初始化**/
int *const p3=&a;

 /*指针本身和它指向的内容都是不能被改变的所以也得初始化*/
const int* const p4=&a;
int const* const p5=&b; 

 p1=p2=&a; //true  (指针本身的值可以改变)
*p1=*p2=8; //false(指针指向的内容不能被修改)

*p3=5; //true (指针指向的内容可以改变)
 p3=p1; //false(指针本身的值不能改变) 

 p4=p5;//false(指针本身和它指向的内容都是不能被改变) 
*p4=*p5=4; //false(指针本身和它指向的内容都是不能被改变) 

return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容