|||
static函数与普通函数:
用static修饰的函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说,可以被其它代码文件调用该函数。
在函数的返回类型前加上关键字static,函数就被定义成为静态函数。普通 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。
因此定义静态函数有以下好处:
<1> 其他文件中可以定义相同名字的函数,不会发生冲突。
<2> 静态函数不能被其他文件所用。
区别1:
静态成员函数实际上是一个全局函数,不依赖一个类的对象. 而属于类,不创建对象也可调用。
普通成员函数依赖一个类的对象,也就是它有一个隐藏的调用参数(this)指针,必须指向一个类的对象。
区别2:
静态函数只能访问类中的静态成员变量;
区别3:
如果类的成员函数想作为回调函数来使用,如创建线程等,一般只能将它定义为静态成员函数才行
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 04:43
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社