标题:静态成员函数和普通成员函数的区别?
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
已结贴  问题点数:10 回复次数:3 
静态成员函数和普通成员函数的区别?
前几天腾讯面试的时候被问及静态成员函数和普通成员函数的区别,想了好久也不知道,希望在这里得到兄弟姐妹的帮助!
搜索更多相关主题的帖子: 成员 静态 函数 
2009-10-25 17:14
qlc00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:157
专家分:540
注 册:2007-11-26
得分:3 
静态函数只有当程序结束的时候才从内存消失。而非静态则是动态加载到内存,不需要的时候就从内存消失

Anything is possible!
2009-10-25 18:02
gz81
Rank: 5Rank: 5
等 级:职业侠客
帖 子:137
专家分:369
注 册:2008-5-1
得分:3 
静态成员不属于对象,而属于类。不创建对象也可调用。

我的空间:http://student./space.php?uid=116706
2009-10-25 20:26
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:3 
从代码形式上来说没有任何区别。

普通类成员函数与静态成员函数的区别在于普通成员函数有一个隐藏的调用参数(this)指针。所以就是楼上说得静态成员函数没有对象也可调用。但他们都是在编译期就进行地址绑定的。

虚拟成员函数与他们的区别在于虚拟函数是对象生成时有对象的虚表决定的(所以是动态的)。





[ 本帖最后由 东海一鱼 于 2009-10-25 20:37 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-10-25 20:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-289889-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.313694 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved