const指针
来源:互联网 发布:视频录制软件免费版 编辑:程序博客网 时间:2024/06/06 12:50
被const修饰的变量便不可改变。但当const与指针变量结合的时候,就有了指针内容可变还是指针指向的地址单元可变的问题。例如:
const int * p; p是可以可变的,*p是不可变的
int const * p; p是可以可变的,*p是不可变的
int * const p; p是可以不可变的,*p是可变的
const int * const p; p是可以不可变的,*p是可变的
int ** const q; q是可以不可变的
int * const *q; *q是可以不可变的
const int ** q; **q是可以不可变的
判断的方法:去掉离const最近的类型,然后看const修饰的是什么,什么就不可变。比如:
const int * p,去掉int,const修饰的是* p,所以p是不可变的。
在代码中出现const时,主要看两点:
(1)有没有明确的给const修饰的量进行赋值
(2)有没有可能通过指针或者引用间接的修改const修饰的量
eg. const int a = 10;
int *p = &a;
可以看到没有明确的给a赋值,但是存在通过解引用修改常量a的风险。会报错:无法从“const int *”转换为“int *”
阅读全文
0 0
- CONST 指针
- const指针
- CONST指针
- const 指针
- const指针
- const指针
- const指针
- const指针
- const 指针
- const 指针
- const指针
- const指针
- const指针
- const指针
- const指针
- const 指针
- const 指针
- const指针
- 诗词对仗常用字表(笠翁对韵)
- Java读取本地文件(图片),并显示在JSP文件中
- 模板和泛型编程的相关知识(函数模板)
- 数据网络传输加密解密问题
- hadoop集群搭建过程
- const指针
- 10月集训test7
- 推荐几个信息学题库
- eclipse_win7_hadoop1.2.1开发环境搭建1
- python获取天气信息,给指定用户发送邮件
- eclipse_win7_hadoop1.2.1开发环境搭建2
- eclipse_win7_hadoop1.2.1开发环境搭建3
- hadoop原理
- linux下的基本的makefile的制作