关于const
来源:互联网 发布:安卓应用推荐知乎 编辑:程序博客网 时间:2024/05/18 02:51
一、
如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《effective c++》item21上的做法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操 作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常 量。
int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a = &b; [3] const int* const a = &b; [4]
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《effective c++》item21上的做法,如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操 作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常 量。
二、
类成员函数中const的使用
如果一个成员函数的不会修改数据成员,那么最好将其声明为const,因为const成员函数中不允许对数据成员进行修改,如果修改,编译器将报错,这大 大提高了程序的健壮性。
http://blog.csdn.net/clozxy/article/details/5679887
0 0
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于 const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 关于const
- 第1章 C语言和计算机——1.2 C语言自定义命令:函数
- VC++ 添加自定义消息响应函数以及发送消息SendMessage投递消息PostMessage的简单测试
- 第二十二讲:深入数组
- Java之数据结构基础、线性表、栈和队列、数组和字符串,树—学习笔记
- android SDCARD 读写操作
- 关于const
- java 接口
- Android Canvas绘图详解
- Tomcat内存溢出
- 第1章 C语言和计算机——1.3 C语言程序
- 第一部分知人知面要知心
- HDU 3450 Counting Sequences(树状数组+DP+离散化)
- 今天有什么收获
- 算法思考-------杨辉三角(c语言)