The Principle Engineer在我以前的公司有這樣的private
static
方法應在實現文件來實現的功能,而不是作爲類方法的規則。私有靜態方法是否有必要?
我不記得是否有任何異常,他的統治。我在當前的工作中偶然發現了它的動機:如果所討論函數的參數或返回類型是需要在頭文件中包含定義文件的對象,這可能會造成不必要的困難。
這足以引導我走了以後再使用private
static
方法,但在此之前我寫了他們關我想知道是否有人知道他們填補實現文件的功能不會利基的?
編輯:
一個例子可能會有幫助這裏。之所以這樣說,是class Foo
的聲明,其中有其他的方法,這將在實現文件調用void foo()
的開始:
class Foo {
static void foo();
所以foo
是僅由Foo
其他方法訪問。爲什麼我不能在實現文件中定義foo
,並將它們一起放在頭部之外?
@Downvoter是否有投票的理由?很顯然,如果你只是提供強制性的[tag:C++]問題的投票,不需要回復。 –
訪問'private static'數據(例如,創建實例的計數)將需要一個類方法,而不是一個自由函數。 –
那麼,如果該方法是「公共」或「受保護」,那將會如何呢?在你的問題中引用的規則並不能解釋爲什麼'私人'得到特殊待遇。 –