C++ 指针常量和常量指针的区别小结
作者:彐雨
在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,本文主要介绍了C++ 指针常量和常量指针的区别小结,感兴趣的可以了解一下
指针常量指针常量:顾名思义它就是一个常量,但是是指针修饰的。
格式为:
int * const p //指针常量
在这个例子下定义以下代码:
int a,b; int * const p=&a //指针常量 //那么分为一下两种操作 *p=9;//操作成功 p=&b;//操作错误
因为声明了指针常量,说明指针变量不允许修改。如同次指针指向一个地址该地址不能被修改,但是该地址里的内容可以被修改。
常量指针常量指针:如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针,格式如下:
const int *p = &a; //常量指针 或 int const* p = &a;
在这个例子下定义以下代码:
int a,b; const int *p=&a //常量指针 //那么分为一下两种操作 *p=9;//操作错误 p=&b;//操作成功
因为常量指针本质是指针,并且这个指针是一个指向常量的指针,指针指向的变量的值不可通过该指针修改,但是指针指向的值可以改变。
判断限制域的时候,const总是修饰其左侧标识符,如果const位于最左侧则修饰其右侧标识符
指向常量的指针常量该怎么写?
const int * const b = &a;//指向常量的指针常量
参考:
[2]https://zhuanlan.zhihu.com/p/337321951
到此这篇关于C++ 指针常量和常量指针的区别小结的文章就介绍到这了,更多相关C++ 指针常量和常量指针内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!