使用静态函数的好处

这一次彻底的想弄清静态的概念~所以收集了以下资料加上自己的理解与大家分享~作为转载

静态成员函数与普通函数的区别:

1.静态成员函数实际上是一个全局函数,不依赖一个类的对象,而属于类不创建对象也可调用(不实例化也可以使用

  普通成员函数依赖一个类的对象,也就是它有一个隐藏的调用参数(this)指针,必须指向一个类的对象(必须实例化才可以使用

2.静态函数只能访问类中的静态成员变量(很好理解,如果类没有实例化静态函数访问谁去

3.如果类的成员函数想作为回调函数来使用,如创建线程等,一般只能将它定义为静态成员函数才行

   

C语言中使用静态函数的好处:

      静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。
      关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。 使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
c语言中static的语义1.static变量:1).局部a.静态局部变量在函数内定义,生存期为整个源程序,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。b.对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。2).全局全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。但是他们的作用域,非静态全局 变量的作用域是整个源程序(多个源文件可以共同使用); 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。2.static函数(也叫内部函数)只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。区别于一般的非静态函数(外部函数)     static在c里面可以用来修饰变量,也可以用来修饰函数。         先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不包含对,不要弄混。

你可能感兴趣的:([编程语言]C#)