我想弄清楚什麼時候是最好的時候使用成員函數(靜態),以及何時在.cpp文件中添加一個輔助方法。當一個功能需要成爲一個成員函數
假設在類MyClass中,我想將TypeA轉換爲typeB。 這是一個漫長的過程,所以我將添加一個方法來處理轉換。
該方法是純功能性的,並且與MyClass實例的狀態無關。 它獲取一個輸入併產生輸出,而不使用MyClass的任何成員(私有或公共)。
只有MyClass會使用這種方法。
現在,我不知道這種方法是如何需要定義:
- 在MyClass的靜態函數
- 在這個功能的專用類的靜態功能。
- 幫助方法不是任何類的成員,只在cpp文件中定義。
如果它在概念上只與'MyClass'耦合,那麼它應該被創建爲一個私有靜態並且在'MyClass'命名空間中引入int。 – StoryTeller
只要有可能,並且此函數的使用僅限於'MyClass',我會選擇3.(在一個未命名的名稱空間中)。 –
像這樣的一個「實用工具」功能,我做#3(在未命名的命名空間中),也許爲了避免重新編譯,如果在頭文件中使用靜態函數。但在1和3之間並不重要。 –