static用法

static的使用

Static函数在实现的时候也不须要static的修饰,由于static是声明性关键字编程

不在类中函数

Static变量:该变量仅在本cpp文件中有效spa

Static函数:该函数仅在本cpp文件中有效对象

在类中递归

Static变量:是全部该类对象的实例共有的,仅有一次初始化,为对象们共有ci

Static函数:仅能访问该类中其余一样是静态成员变量table

访问方式:效率

能够是类的实例对象,也能够是经过类名(不须要实例化)变量

何时使用static方法

对于普通变量

更倾向于设置为非static,由于static的类变量是全局变量,全局变量的弊端你们应该都了解。常见的一个编程错误就是错误地是用来了static变量,结果几个实例对象相互影响致使错误。

对于常量变量

更倾向于采用static的方式,再加上const、final修饰。由于空间和时间效率都更高,由于不须要构造并保存到每一个类实例中。

对于函数

若是可以采用static(说明没有访问到非static的成员变量),则倾向于采用static的方式 ,由于静态方法的效率高但注意这每每预示着代码坏味道。举个例子,好比咱们有一个业务类,里面有一个函数是递归删除文件。将这个函数设置为static当然是能够,但其实这也代表了这个函数和这个类关系不大,将这个函数抽取到相似FileUtil的类里面会更好。若是一个函数虽然和类关系不紧密,可是暂时不知道是否有其余类须要调用,则能够先设置为类的static函数。往后,若是其余地方须要使用此函数,static函数抽取起来比非static函数要方便。

相关文章
相关标签/搜索