类中静态函数的作用是什么呢?

时间:2021-03-08 00:05:35
一般的函数,加static成为静态函数是为了限制作用域,防止被别的文件调用造成函数冲突!

那类中定义成员函数时,把成员函数定义为静态成员函数能起到什么作用呢? 谢谢!

14 个解决方案

#1


静态成员函数常用来操作静态数据成员

#2


一样是一种封装,虽然没有this指针但依然是类成员,避免跟其他类或者全局函数的名称冲突,而且还可以是protect和private的。

#3


就是个*岛,爱搞独立

#4


作为一个静态的成员,其为所有的对象共有;对于函数一般很少用到static;其包含了STATIC的功能;

#5


我记得是就可以不需要实例化即可调用它的函数了。

#6


如果静态数据成员是私有的话,你必须创建对象,由对象捆绑一个成员函数,去操作静态成员。而如果是用静态成员函数就可以不另外定义对象,去操作静态数据成员了。

#7


静态成员函数,是类层次的一种方法。 而一般的成员函数,都是对象层次的。
静态成员函数是不用实例化就可以调用的函数,所以静态成员函数可以作为回调函数和线程的入口函数。

#8


在类里的函数前加static,则这个函数就与对象无关了,这个类产生的所有对象共用这一个静态成员函数,
静态成员函数可以在尚未创建任何对象时就被调用,他只可以操作类中的静态数据成员。

#9


不访问类的非静态变量和调用非静态方法的方法都可以定义为静态方法,其实这样的方法和一个全局函数没什么却别,因为它和这个类关系也不紧密,这样的好处是,不用实例化就可以访问这个类的静态方法,并且避免了名字冲突(如果把它设置为全局函数的话)。

#10


我的理解:
1.可以直接用类名来调用函数
2.操作静态变量
肤浅的两点

#11


可以访问静态成员 并且不进行对象的实例化就可以调用

#12


c++ primer 
不能是虚函数

#13


调用静态数据时要用

#14


引用 7 楼 jia_xiaoxin 的回复:
静态成员函数,是类层次的一种方法。 而一般的成员函数,都是对象层次的。 
静态成员函数是不用实例化就可以调用的函数,所以静态成员函数可以作为回调函数和线程的入口函数。

up

#1


静态成员函数常用来操作静态数据成员

#2


一样是一种封装,虽然没有this指针但依然是类成员,避免跟其他类或者全局函数的名称冲突,而且还可以是protect和private的。

#3


就是个*岛,爱搞独立

#4


作为一个静态的成员,其为所有的对象共有;对于函数一般很少用到static;其包含了STATIC的功能;

#5


我记得是就可以不需要实例化即可调用它的函数了。

#6


如果静态数据成员是私有的话,你必须创建对象,由对象捆绑一个成员函数,去操作静态成员。而如果是用静态成员函数就可以不另外定义对象,去操作静态数据成员了。

#7


静态成员函数,是类层次的一种方法。 而一般的成员函数,都是对象层次的。
静态成员函数是不用实例化就可以调用的函数,所以静态成员函数可以作为回调函数和线程的入口函数。

#8


在类里的函数前加static,则这个函数就与对象无关了,这个类产生的所有对象共用这一个静态成员函数,
静态成员函数可以在尚未创建任何对象时就被调用,他只可以操作类中的静态数据成员。

#9


不访问类的非静态变量和调用非静态方法的方法都可以定义为静态方法,其实这样的方法和一个全局函数没什么却别,因为它和这个类关系也不紧密,这样的好处是,不用实例化就可以访问这个类的静态方法,并且避免了名字冲突(如果把它设置为全局函数的话)。

#10


我的理解:
1.可以直接用类名来调用函数
2.操作静态变量
肤浅的两点

#11


可以访问静态成员 并且不进行对象的实例化就可以调用

#12


c++ primer 
不能是虚函数

#13


调用静态数据时要用

#14


引用 7 楼 jia_xiaoxin 的回复:
静态成员函数,是类层次的一种方法。 而一般的成员函数,都是对象层次的。 
静态成员函数是不用实例化就可以调用的函数,所以静态成员函数可以作为回调函数和线程的入口函数。

up