在我上一个公司,The Principle Engineer 有一个规定:应将私有的静态方法作为实现文件中的函数而不是类方法实现。我不记得他是否有任何例外。在我的当前工作中,我遇到了这个规则的动机:如果问题函数的参数或返回类型是需要在头文件中包含定义文件的对象,则会导致不必要的困难。这足以让我远离使用
注:下面是编辑的内容:
可以举个例子说明。假设这是声明
private
static
方法,但在我放弃之前,我想知道是否有人意识到它们填补了某些特定领域的空缺,而实现文件函数无法填补。注:下面是编辑的内容:
可以举个例子说明。假设这是声明
class Foo
的开始,该类还有其他方法将调用实现文件中的 void foo()
:
class Foo {
static void foo();
所以foo
只能被Foo
的其他方法访问。那么为什么我不把foo
定义在实现文件中,完全不在头文件中呢?
private
static
方法而没有直接访问private
static
数据的情况。你有我没想到的例子吗? - Jonathan Mee