我有3個小的(每行15個)實用功能,最好的方法來組織它們?把它們放在自己的名字空間中的頭文件中?在C++中組織實用功能
回答
創建一個名爲utility.hpp
一個單獨的文件,並把它的所有函數聲明,最好是在其自己的命名空間,其可能只是utility
,然後把定義中utility.cpp
。如果任何實用函數都是函數模板,則必須將該定義放在頭本身中。
避免定義實用程序class
並將其中的所有實用函數作爲static
成員。這是一個壞主意。它不好的一個原因是它不能利用參數相關名稱查找(ADL)。
改爲使用名稱空間。
實施例,
//utility.hpp
namespace utility
{
void function1();
void function2();
void function3();
template<typename T>
void function4()
{
//function template definition should be here!
}
}
然後,
//utility.cpp
#include "utility.hpp"
namespace utility
{
void function1()
{
//code
}
void function2()
{
//code
}
void function3()
{
//code
}
}
你可能想要檢查google styleguide for c++這個主題上的一些有用的提示......但是:有很多styleguides,因爲你可以用很多或多或少有用的方式做事情......最好的做法是選擇一個styleguide和然後堅持爲整個項目的一致性...(除非你/你的團隊變得非常不舒服...)
我還沒有閱讀過這方面的谷歌風格指南,但總的來說它不是一個很好的C++風格指南。 –
我發現它非常有趣,因爲有每個主題的利弊解釋......但如果你可以提供更好的風格指南,我願意提供建議;-) – xmoex
護目鏡風格指南非常糟糕 –
- 1. 如何組織實用功能?
- 2. 如何組織實用功能庫?
- 3. 在庫中組織擴展功能
- 4. 組織模板功能
- 5. 功能使用說明 - >組織
- 6. IDE在C++中組織#include?
- 7. 如何組織許多爬蟲功能?
- 8. 組織方法和功能在組織方法和功能方面是否有優勢?
- 9. 如何在多個文件中組織JS功能
- 10. 在功能點分析中如何計算組織生產力?
- 11. 在SVN中組織Eclipse插件/功能/更新站點項目
- 12. 組織數組c#
- 13. C項目組織最佳實踐
- 14. 不能在Acumatica(GMAIL /組織)
- 15. 如何在C++中正確組織和實現SFML音頻?
- 16. C++中的內存組織
- 17. C:實施rownames的功能
- 18. 在C++中組織靜態數據
- 19. 組織C++代碼
- 20. C#組織變量?
- 21. C#Remoting類組織
- 22. C++項目組織
- 23. 如何組織通用Spring控制器功能?
- 24. 如何組織使用多個Azure功能的解決方案?
- 25. 在課堂上正確組織公共/保護/私人功能
- 26. 如何組織幫助功能在我的代碼
- 27. 將功能組織到一個類中(按類別)
- 28. 自組織映射中的激活功能
- 29. 如何通過數組不變量實例的功能,在C++
- 30. 使用模板實現組合功能
除了;命名類util.h \ cpp和命名空間util;它更方便=) –
另外,在函數名稱中不需要'utility_'前綴。這就是命名空間的用途 –
@VJo:當然,我不是說,函數應該以'utility_'作爲前綴。但看起來,它可能會混淆讀者(尤其是新手)。所以我編輯了我的帖子。 – Nawaz