const”类型的指针“
来源:互联网 发布:网络视听经营许可证 编辑:程序博客网 时间:2024/05/18 07:04
1.指向const对象的指针
const int *p;
这个p是一个指向int类型const对象的指针,const限定了指针p所指向的类型,而并非p本身。也就是说p本身并不是const。在定义时不需要对它进行初始化,还可以给p重新赋值,使其指向另一个const对象。但不能通过p修改所指向对象的值。
示例1:int a=0; p=&a; 可以。
示例2:*p=20; 不可以。
结论:这种指向const对象的指针只是限制不能修改p指向对象的数值,而不是限制p指向什么对象。
把一个const对象的地址赋给一个不是指向const对象的指针也是不行的。
示例3:const int b=10;
int *p2=&b; //error
const int *p3=&b; //ok
结论:因为变量b有const修饰,不能被修改。但指针p2是一个普通的指针,可以修改指向对象的值,两种声明矛盾,所以不合法。而指向const对象的指针不允许修改指针指向对象的数值,所以这种方式合法。
2.const指针
int c=20;
int *const p4=&c;
指针p4称为const指针。它和指向const对象的指针恰好相反,它不能够修改所指向对象,但却能够修改指向对象的数值。另外,这种指针在声明时必须初始化。
3.指向const对象的const指针
const int d=30;
const int *const dp=&d;
指针dp既不能修改指向的对象,也不能修改只想对象的值。
- const”类型的指针“
- const 的 双指针类型
- const指针和指向const类型的指针
- const指针与指向const类型的指针
- const类型的指针是否可变问题
- const与指针类型
- 指向const对象的const指针 typedef 理解复杂的const类型的声明
- 关于const指针和指向const类型的指针的问题
- C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)
- C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)
- 强制转换const类型指针
- C++ const 和指针类型
- 指针与const限定符的类型识别
- 为什么要用this指针,为什么是const类型的
- 两种与const相关的指针类型
- 指向const对象的指针&&&const指针
- 指向const对象的指针 const指针
- 指向const的指针和const指针
- javascript -- 在IE中如何实现将表单提交给动态创建的iframe
- 开博啦
- 把C++学再好,也无法凭这个找到好工作
- java正则表达式文档
- c# GDI+简单绘图(2)
- const”类型的指针“
- C# GDI+ 简单绘图(3)
- DDE股票数据从实时备份到日历史数据.
- Web Service
- 实现在TreeView节点中进行拖放操作
- c# GDI+简单绘图(4)
- PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
- 炒股最难的功夫---长线持股
- wince nandflash驱动