Const 的用法
以下函数中的 const 的用处有什么不同之处?
1) Length() const { return last+1;}
2) int Find(char &x) const;
3) const char getArray(){return ch;}
4) CArray(const CArray <Type> &A);
很简单一个问题10分!
问题点数:40、回复次数:9Top
1 楼fz_zhou(vcfan)回复于 2001-07-23 21:46:19 得分 0
大爱关注一下吧!Top
2 楼magicblue(小飞侠)回复于 2001-07-23 21:50:30 得分 10
1,2是说明函数不能改变参数值
3是说函数返回一个字符常量
4是说函数参数为常量,参数不能被函数改变Top
3 楼ed9er(始祖鸟)回复于 2001-07-24 09:00:18 得分 0
你先在这个版查找一下标题含constTop
4 楼Yake(亞克)回复于 2001-07-24 09:22:28 得分 0
一般输入参数为指针或引用时,建议加上const.Top
5 楼lion_boy(lion_boy)回复于 2001-07-24 12:00:07 得分 10
1.2仅对成员函数有效,不是成员函数不能用,意思是能够为常对象(Const object—)
所调用
3表示函数返回值为常量字符型
4表示参数为常量引用,这是很常用的,在不需要改变实参时经常用常量引用,尤其对复杂数据类型用引用做型参更合理
3。4不限于成员函数,任何函数均可用Top
6 楼xiaolun(小懒)回复于 2001-07-24 12:08:17 得分 20
(1)和(2)一般用于类的成员函数,表示此成员函数不会修改类的成员数据。更深一步将,const 的成员函数将 this 视为一个 const Object * const this,指向常量对象的常量指针。显然,const成员函数不能调用非const的成员函数。另外,构造函数和析构函数不能是const的。
(3)表示函数返回一个常量字符,此返回的字符是不能被调用者修改的。不过你给的函数返回一个临时值,所以用不用const没什么区别。
(4)表示参数A是常量,不能在函数体内修改。比如不能写:
CArray(const CArray <Type> &A)
{
A.SomeMember=...
}
Top
7 楼FireBow(狙击手)回复于 2001-07-24 13:03:27 得分 0
关注Top
8 楼fz_zhou(vcfan)回复于 2001-07-25 00:18:48 得分 0
const 用了对程序的哪方面有比较大的帮助??Top
9 楼fz_zhou(vcfan)回复于 2001-07-29 13:40:21 得分 0
给分了!Top




