我正在編寫一個庫以在我的項目中使用。其中,我希望將c標準庫包裝在庫的命名空間和cstd命名空間中,以避免在全局命名空間中具有其功能。然而,從我之前提出的問題以及從我測試的內容來看,我不能僅僅在命名空間中包含所有內容。有沒有辦法做到這一點?在命名空間中包裝外部庫
2
A
回答
3
我懷疑它,除非你想重寫所有的東西。 C語言本身沒有名稱空間的概念,因此C標準庫使用的所有內容都必須依賴於它所尋找的任何內容駐留在全局名稱空間中的事實。
如果你簡單地纏着你的#包括一個命名空間,編譯器將無法找到任何東西,因爲它不知道在看什麼名稱空間。
1
通常的做法是把第3派對包含在實施文件中以防止污染你的API。
myapi.hpp
void coolthing(int howcool);
myapi.cpp
#include <coollib.h>
void coolthing(int howcool)
{
coollib_coolthing(howcool);
}
相關問題
- 1. 命名空間包和pip安裝-e
- 2. 如何在不使用命名空間的情況下包含外部庫
- 3. jQuery外部命名空間調用
- 4. 參考外部clojurescript命名空間
- 5. C++包含一個來自外部命名空間的類
- 6. Symfony2 - 使用沒有命名空間的舊外部庫
- 7. 包括在命名空間中使用
- 8. 在命名空間中包裝一個.less css定義
- 9. 匿名命名空間內部/外部的Typedef?
- 10. 外部庫應該包裝?
- 11. C#中的絕對/外部和內部命名空間混淆#
- 12. 在命名空間內部或外部放置使用情況?
- 13. 在命名空間內部或外部實現C++函數?
- 14. 在doxygen生成的文檔中隱藏外部命名空間
- 15. 在另一個命名空間中使用外部yyin
- 16. 包括和命名空間
- 17. 在Android Studio中使用Maven的外部庫綁定命名空間'app'
- 18. 我應該把「使用命名空間」內部或外部C++中的命名空間的
- 19. C-命名空間部分
- 20. Capistrano部署命名空間
- 21. 命名空間中不存在命名空間名稱'Notify'Twilio.Rest
- 22. 使用包中的命名空間無名稱空間
- 23. .NET:COM包裝器的命名空間/組裝設計
- 24. 在.net中重命名命名空間
- 25. 在MonoTouch中重命名命名空間
- 26. 蟒蛇:在包命名空間
- 27. Doxygen \ sa在外部命名空間內的鏈接
- 28. 訪問具名命名空間的成員當外部命名空間具有相同名稱
- 29. C++包括具名命名空間
- 30. 如何在多個命名空間中命名空間函數?