zoukankan      html  css  js  c++  java
  • static用法

    static的使用

    Static函数在实现的时候也不需要static的修饰,因为static是声明性关键字

    不在类中

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

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

    在类中

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

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

    访问方式:

    可以是类的实例对象,也可以是通过类名(不需要实例化)

    什么时候使用static

    对于普通变量

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

    对于常量变量

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

    对于函数

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

  • 相关阅读:
    第十次作业
    第九次作业
    第八次作业总结
    第八次作业
    C语言总结(6)
    作业十二总结
    作业十一总结
    实验十总结
    实验九总结
    第一次附加作业
  • 原文地址:https://www.cnblogs.com/baoxiaofei/p/4113663.html
Copyright © 2011-2022 走看看