静态成员函数能否被说明成const型,why?
应该是不可以,请问为什么? 问题点数:20、回复次数:12Top
1 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-04-02 17:16:02 得分 1
最简单的解释:静态成员函数可以改变成员变量
Top
2 楼yythinking()回复于 2005-04-02 17:23:04 得分 0
菜鸟再问一下,如果函数没有改变成员变量,为什么还是不行?Top
3 楼xfxf521(天使也一样)回复于 2005-04-02 17:28:50 得分 1
编译器认为可能会造成成员变量的改变!Top
4 楼yythinking()回复于 2005-04-02 17:34:37 得分 0
这个解释感觉不太象吧
那const的函数都有可能呀,比如函数里有对指针操作,编译就可以通过呀Top
5 楼abcabcabc___(abcabcabc__)回复于 2005-04-02 17:40:39 得分 1
static functions r always const.Top
6 楼JustLikeTheWind(风)回复于 2005-04-02 17:43:43 得分 1
呵呵,楼上说得好像满有道理的。支持。Top
7 楼yythinking()回复于 2005-04-02 17:50:10 得分 0
static functions r always const.
这个好像也不对吧,刚写了段程序,可以修改成员变量呀Top
8 楼lw1a2(一刀 现在改六点下班了:()回复于 2005-04-02 17:56:21 得分 5
那const的函数都有可能呀,比如函数里有对指针操作,编译就可以通过呀
--------------------
这种方法的确可以,但是不建议使用
Top
9 楼021850524(吸血鬼牌卫生巾)回复于 2005-04-02 18:45:28 得分 9
楼主是说这种情况的吗?
class test
{
public:
static void show() const;
};
这种情况不行.
const是修饰this指针的,是const *this,
而static成员函数没有this指针.Top
10 楼yythinking()回复于 2005-04-02 19:41:56 得分 0
静态成员函数是没有this指针
用这个解释好像有道理 呵呵Top
11 楼ppddt008(pp点点通零零发)回复于 2005-04-02 20:08:06 得分 1
静态成员函数是没有this指针
用这个解释好像有道理 呵呵
Top
12 楼CloudOfFly(追忆)回复于 2005-04-02 22:55:08 得分 1
对 静态函数是没this指针的Top




