C++——const加深理解之const在函数后
来源:互联网 发布:从零开始学英语 知乎 编辑:程序博客网 时间:2024/06/05 07:38
先看下面4种情况,应该是理解const的基础,我觉得必须掌握且容易掌握
int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a = &b; [3] const int* const a = &b; [4]
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的 右侧,const就是修饰指针本身,即指针本身是常量。因此,[1]和[2]的情况相同,都是指针所指向的内容为常量,这种情况下不允许对内容进行更改操 作,如不能*a = 3 ;[3]为指针本身是常量,而指针所指向的内容不是常量,这种情况下不能对指针本身进行更改操作,如a++是错误的;[4]为指针本身和指向的内容均为常 量。
那如果const是跟在函数后面呢,来看一下下面这段程序
double Volume() const{ return m_Length*m_Width*m_Height;}bool Compare(const CBox &xBox) const{ return this->Volume() > xBox.Volume();}
const跟在Compare(const CBox &xBox)后面这么做是为了防止你在函数中对不应该在这里改变的量(也就是Volume)不小心进行了改变。这样的函数叫常成员函数。常成员函数可以理解为是一个“只读”函数,它既不能更改数据成员的值,也不能调用那些能引起数据成员值变化的成员函数,只能调用const成员函数,所以这里的Volume()函数 也必须是常成员函数。
0 0
- C++——const加深理解之const在函数后
- c++ 在函数后加const是什么意思?
- c++ 在函数后加const是什么意思?
- c语言之const理解
- const在变量前后,函数后的含义(C++)
- c++ 在函数后加const是什么含义?
- const用在成员函数后
- 在函数后加const的意义
- 小菜学C之const理解
- 函数后加const
- 函数后加const
- c++——const
- c——const
- C++学习笔记(1) —— 有关在函数参数表后的const
- c const关键字理解
- const理解之二
- C的关键字——const的理解和用法
- C的关键字——const的理解和用法
- 原生js再不写就忘了?纯JavaScript操作DOM!
- 水题
- 【程序员修炼日志】初接项目的心酸(下技术篇)
- Node.js中的模块
- oracle空串处理(转载)
- C++——const加深理解之const在函数后
- Unity之动画剪辑
- Java读取Excel:POI
- MariaDB10和MySQL5.6社区版压力测试
- 从木桶理论看自身职业生涯规划
- Encoding(一)
- Linux常用指令
- GPT磁盘及ID号介绍
- [辩论]以成败轮英雄是可取的——正方一辩稿