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

静态成员函数和普通成员函数的区别?

vfdff 发布于 2009-10-25 17:14, 4359 次点击
前几天腾讯面试的时候被问及静态成员函数和普通成员函数的区别,想了好久也不知道,希望在这里得到兄弟姐妹的帮助!
3 回复
#2
qlc002009-10-25 18:02
静态函数只有当程序结束的时候才从内存消失。而非静态则是动态加载到内存,不需要的时候就从内存消失
#3
gz812009-10-25 20:26
静态成员不属于对象,而属于类。不创建对象也可调用。
#4
东海一鱼2009-10-25 20:35
从代码形式上来说没有任何区别。

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

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





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