Chinaunix

标题: [c]常函数??--const [打印本页]

作者: izhier    时间: 2008-11-01 15:53
标题: [c]常函数??--const
int func(void) const; /* 函数本身是常量,即只读函数 */

在网上搜的,但仅此一句,不懂(仅解释一句)
我想问一下,这个函数与其他非 const 函数有什么区别?

c 中有这种语法吗?我知 c++中用法是只能处理常量,不知 c 是不是?

[ 本帖最后由 izhier 于 2008-11-1 16:00 编辑 ]
作者: antonym55    时间: 2008-11-01 22:36
原帖由 izhier 于 2008-11-1 15:53 发表
int func(void) const; /* 函数本身是常量,即只读函数 */

在网上搜的,但仅此一句,不懂(仅解释一句)
我想问一下,这个函数与其他非 const 函数有什么区别?

c 中有这种语法吗?我知 c++中用法是只 ...


C++用在类的成员函数后面,表示该函数不会修改类成员
作者: MMMIX    时间: 2008-11-01 23:08
原帖由 izhier 于 2008-11-1 15:53 发表
c 中有这种语法吗?

没有。
作者: chinesedragon    时间: 2008-11-02 09:14
C++用在类的成员函数后面,表示该函数不会修改类成员
作者: izhier    时间: 2008-11-02 11:52
谢谢各位热心回答
想再问一个问题

我只见过 int * const a ,(int const * a、 const int *a),int const * const a
也知道他们的意思
今天碰到这样的一种写法: int const *a const
不知是否和 int const * const a 意义相同??

若相同,int *const a 可否写为 int *a const ??
作者: fera    时间: 2008-11-03 11:40
原帖由 izhier 于 2008-11-1 15:53 发表
int func(void) const; /* 函数本身是常量,即只读函数 */

在网上搜的,但仅此一句,不懂(仅解释一句)
我想问一下,这个函数与其他非 const 函数有什么区别?

c 中有这种语法吗?我知 c++中用法是只 ...

这个问题我想任何一本讲c++基础的书里都会说吧?
作者: cugb_cat    时间: 2008-11-03 11:42
表示:const class *this
作者: fera    时间: 2008-11-03 19:24
原帖由 cugb_cat 于 2008-11-3 11:42 发表
表示:const class *this

正解!加10分,呵呵。
作者: 蓝色神话    时间: 2008-11-03 19:44
对于声明为const的对象,只能调用也声明为const的成员函数。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2