C++杂谈(一)const限定符与const指针
来源:互联网 发布:风险矩阵图怎么绘制 编辑:程序博客网 时间:2024/05/17 11:04
const限定符
c++有了新的const关键字,用来定义常变量,可以替C语言中的#define。关于const限定符,有以下需要注意:
1.创建后值不再改变
2.作用范围在文件内有效
3.添加extern关键字,使多个文件共用同一个常变量
另外,int const与const int是等效的。
const指针
创建const指针时,const,*和变量类型的符号顺序会给人很大的困扰。一般来说,按照从右向左读的方式来判断其含义。
1.
const int *p=&i;
与下面的语句等效。
(const int) *p=&i;
代表指向const int类型的指针。
2.
int *const p=&i;
与下面的语句等效
int *(const p)=&i;
代表指向int类型的常指针。这个指针一直指向i,不可以改变指针指向的位置,可以改变所指向的变量的值。
*p=5;//正确
3.
const int *const p=&i;
代表指向常变量的常指针,不可以改变指针的指向,也不可以改变指针所指变量的值。
*p=5;//错误
所指的类型是const int,不可以修改它的值。
这里,左边的const叫做底层const,右边的const叫做顶层const。
判断const指针的简便方法
把*读作"pointer to",从右至左念:
b是一个常量
const int b; /* b is a int const */int const b; /* b is a const int */
p是一个普通指针,指向一个常量
const int *p; /* p is a pointer to int const */int const *p; /* p is a pointer to const int */
p是一个常量指针,指向一个普通变量
int *const p; /* p is a const pointer to int */
p是一个常量指针,指向一个常量
const int *const p; /* p is a const pointer to int const */int const *const p; /* p is a const pointer to const int */
本文由 whchina(江城老温)原创发布,转载请注明出处,江城老温 as a thinker。
0 0
- C++杂谈(一)const限定符与const指针
- 指针与const限定符(Linux C编程)
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- 指针与const限定符
- C++中的指针与const限定符
- 万能const限定符与指针
- C++中指针与const限定符
- C++中const限定符与指针
- 万能const限定符与指针
- 2.4Const限定符(const初始化,const与引用,const与指针,const指针,顶层const,constexpr)
- sql之left join、right join、inner join的区别
- view加载的深入了解
- 数组指针与指针数组
- position:absolute绝对定位居中
- 在jsp中使用CKEditor编辑器
- C++杂谈(一)const限定符与const指针
- Android dp与px互换
- 18. 4Sum
- 各种问题解决转载贴
- [汇编学习笔记][第十四章 端口]
- Java 正则表达式
- 模块
- Bootloader 与 Firmware 一起用ULINK烧写方法
- eclipse查看jar源码