2012-10-09 121 views

回答

4

獨立函數只是一個普通函數,它不是任何類的成員,並且位於全局名稱空間中。例如,這是一個成員函數:

class SomeClass 
{ 
public: 
    SomeClass add(SomeClass other); 
}; 
SomeClass::add(SomeClass other) 
{ 
    <...> 
} 

這是一個獨立的一個:

SomeClass add(SomeClass one, SomeClass two); 
+0

所以獨立函數類型必須是類?或者像普通函數一樣,你可以命名任何東西並從main獲取數據? –

+0

@Rex,不,它可以是任何東西,這只是一個隨機的例子;) – SingerOfTheFall

+0

好的,非常感謝你 –

3

一個獨立的功能通常是

  • 全局函數沒有按不屬於任何classnamespace
  • 供應做事的單一目的(如公用事業,說strcpy()

他們應該明智的太多了那些將雜亂的代碼中使用。

2

一個獨立的功能是一種不依賴於任何可見狀態:

int max(int a, int b) { return a > b ? a : b; } 

這裏max是一個獨立的功能。

獨立功能是無狀態的。在C++中,它們被稱爲免費函數。