const与指针
来源:互联网 发布:淘宝认证复核在哪里 编辑:程序博客网 时间:2024/05/16 23:54
const与指针:
const与指针有两种不同的搭配方法:
指向const的指针:
让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值。如:
int age = 39;const int * pt = &age;//pt指向一个const int,因此不能使用pt来修改其值。 //换句话说,*pt的值为const,不能被修改//因此,下面两个做法是非法的:*pt += 10;cin >> *pt;
有趣的是,指针的这种声明并不代表它所指向的值就是一个不可改变的常量,只是说明对pt而言,这个值是一个常量,不可以通过pt来修改该变量,但却可以通过age变量来直接修改age的值:
*pt = 30;//错误age = 30;//正确
另外,由于搭配的多样性,可能会有以下问题:
const的指针可以指向const变量的地址吗?
非const的指针可以指向const变量的地址吗?
对于第一个问题,答案是肯定的。因为const变量本身就不希望其值被修改,const指针恰恰符合了它的目的。
而对于第二个问题,答案是否定的,因为如果可以,将可以通过指针的方式修改const变量的值,而这与const变量的初衷相违背。
当然,还需要指出的一点是:可以将非const指针的值赋给const指针,但是不可以将const指针的值赋给非const指针。
const指针:
将指针本身声明为常量,这样可以防止改变指针指向的位置。如:
int sot = 3;int * const pt = &sot;
这样,pt只能指向sot这个变量,而无法指向其他变量,但是通过pt来改变sot的值的行为是合法的。
1 0
- const与const指针
- 指针:const与指针
- const 指针与指向const的指针
- 指向const的指针与const指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- const 指针与指向const的指针
- Linux学习——守护进程(daemon)
- Android:学习AIDL,这一篇文章就够了(下)
- 关于垃圾回收GC的整理
- 如何使用pt-duplicate-key-checker检查冗余索引
- LeetCode-46:Permutations
- const与指针
- 自然语言处理入门心得——书籍、课程推荐
- OC中自定义类的NSCopying实现的注意事项(isEqual & hash实现)
- 1-UNIX System Overview
- 设计模式之观察者模式
- Java并发编程:Callable、Future和FutureTask
- 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
- 自学编程这几点非常重要
- ORACLE的数据字典表和动态性能视图