const类型参数的对象引用和const成员函数
来源:互联网 发布:整形医院网络咨询技巧 编辑:程序博客网 时间:2024/05/05 05:41
const类型参数的对象引用
在如下的类声明中:
class C{private:string name;public:C(){/*...*/} //default constructorC(int x){/*...*/} //convert constructorvoid setName(const string& n){name = n;}};函数setName的string类型参数n标记为const,表明setName不会改变n,只是将n赋值给数据成员name。
通常,如果一个对象通过引用方式传到函数f中,而函数f又不会通过修改对象的数据成员的值改变对象的状态,那么,最好将f的参数标记为const,可以预防对参数的误写,同时有些编译器还可以对这种情况进行一些优化。
const成员函数
如果一个成员函数不需要直接或间接(通过调用其他的成员函数来改变其对象状态)地改变该函数所述对象的任何数据成员,那么最好将这个成员函数标记为const。
在如下的类声明中:
class C{private:string num;public:C(){/*...*/} //default constructorC(int x){/*...*/} //convert constructorvoid set(int n){num = n;}int get() const{return num;}};由于get成员函数不需要改变类C的任何数据成员,因此我们将get成员函数标记为const。请注意,定义一个const成员函数时,const关键字出现在参数列表与其函数体之间。
由于get成员函数不更改任何数据成员,因此我们称这种类型的函数为只读函数。将成员函数标记为const可以预防对该函数所属对象的数据成员的误写,同时有些编译器还可以对这种情况进行一些优化。
一个const成员函数仅能调用其他const成员函数,因为const成员函数不允许直接或间接地改变对象的状态,而调用非const成员函数可能会间接地改变对象的状态。
0 0
- const类型参数的对象引用和const成员函数
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 函数返回的临时对象为const类型,const引用
- const对象和const函数的用法限制以及对const成员变量或引用的初始化问题
- const对象和const成员函数
- const对象和const成员函数
- const对象和const成员函数
- const 对象和 const 成员函数
- const对象和const成员函数
- const成员函数和const对象的调用关系
- C++中类的const成员函数和const对象
- 引用类型和const类型的成员变量
- const成员函数和对象
- const类型的成员函数
- const变量、const指针、const参数、const对象、const成员函数
- const对象const成员函数
- const成员函数和非const成员函数返回引用的问题
- C++ const类型引用做函数参数
- 用户不在 sudoers 文件中 此事将被报告
- Monodb 入门
- android.mk加入三方jar
- android自定义的TextView,实现跑马灯效果
- Simplify Path
- const类型参数的对象引用和const成员函数
- jQuery之动画
- Android音频系统之AudioTrack(一)
- 【鸟瞰】C#的学习
- 第16周 项目2 - 大数据集上排序算法性能的体验
- “#ifdef __cplusplus extern "C" { #endif”的定义(转)
- 遍历map集合
- Android 高级开发笔记 第一章 Activity的生命周期探索
- javascript:void(0)是什么意思