注册 登录
编程论坛 C++教室

请教const 问题

zzt_428 发布于 2008-11-27 14:47, 1830 次点击
希望大家指点一下:
const String & func(string &s1, string &s2);
String & func(string &s1, string &s2) const ;
这两个const 分别表示什么?
谢谢指点
13 回复
#2
tfg01162008-11-27 14:50
const String & func(string &s1, string &s2);//表示返回const引用
String & func(string &s1, string &s2) const ;//表示函数func为const函数
#3
ldy12042008-11-27 14:59
第一个表示返回一个引用,这个引用是const类型的,不能被修改。
第二个表示函数的参数是const类型的,参数不能被修改。
#4
无寸光阴2008-11-27 16:48
支持楼上,很仔细啊!!
#5
zzt_4282008-11-27 16:49
补充
那么请问 函数是const 是什么意思?函数是const 表示什么不能被修改?
#6
raodapeng2008-11-27 18:05
三楼很详细,顶
#7
newyj2008-11-27 20:25
解释下 第二个
函数const 是指的 类中的成员函数
不能修改 类中的数据成员
可以用 const类对象 来调用
#8
h130773959592008-11-27 20:52
xuexi~!!!
#9
hitcolder2008-11-28 00:13
学习下
#10
zuiwutong52008-11-28 17:00
const 的本意是声明一个不可改变的常量或者函数,一旦声明,一般情况下就不需要对其进行修改操作。
#11
beyondlwm2008-11-28 17:02
3楼是错的
7楼对了。
#12
zzt_4282008-12-01 20:55
总结
明白了!谢谢7楼的兄弟~~~~~~
#13
zzt_4282008-12-10 19:52
总结
总结一下:
const String func(const String &s) const;
中3个const 的含义依次是这样的:
第1个:返回一个 String类型 常量;
第2个:函数不可以改变 s ;
第3个:函数不可以更改调用这个函数的对象;
#14
笛神2008-12-11 18:40
1