是使用太多静态坏还是好?

CiN*_*iNN 12 c++ static

我喜欢在C++中使用静态函数作为对它们进行分类的方法,比如C#.

Console::WriteLine("hello")
Run Code Online (Sandbox Code Playgroud)

这是好事还是坏事?如果经常使用这些功能我觉得没关系,但如果没有,他们会对内存施加压力吗?

怎么样static const

DrP*_*zza 26

但这是好事还是坏事

想到的第一个形容词是"不必要的".C++有自由函数和命名空间,那么为什么你需要在类中创建它们的静态函数呢?

在C#和Java中的不可实例化类中使用静态方法是一种解决方法,因为这些语言没有自由函数(即直接驻留在命名空间中的函数,而不是作为类的一部分).C++没有那个缺陷.只需使用命名空间.


Fra*_*ger 10

我全都使用静态函数.这些只是在组织成模块(static class在C#中)时才有意义.

但是,这些函数需要某种外部(非编译时const)数据时,该函数应该成为一个实例方法,并将其数据与其数据一起封装到一个类中.

简而言之:静态函数ok,静态数据不好.