实例方法中的静态变量 - 如何解决?

Vie*_*iet 5 c++ oop static design-patterns

最近我继承了10年代的代码库,并带有一些有趣的模式.其中包括实例方法中的静态变量.只实例化了该类的单个实例,并且我很难找到理由在实例方法中证明这些静态变量的存在.

  1. 你有没有用静态变量设计实例方法?你的理由是什么?

  2. 如果这种模式被认为是坏的,那么如何解决它?

注意:此问题与实例方法中的静态变量无关

编辑:

一些阅读:

  1. 静态类和单例
  2. http://objectmentor.com/resources/articles/SingletonAndMonostate.pdf
  3. http://www.semantics.org/once_weakly/w01_expanding_monostate.pdf

das*_*ght 4

  1. 这是单例模式的经典 C++ 实现,在 Scott Meyers C++ 书籍之一中进行了描述。
  2. 单例是一个有争议的模式,因此对于单例的好坏并没有全行业的共识。

单例的替代方案是纯静态对象。这个问题有很好的讨论。