0
在像java這樣的語言中,包名稱是一個域名,例如com.foobar.mystuff。如何知道動態庫或靜態庫中的名稱空間是否已被使用?
所以,如果你擁有com.foobar,那麼很可能有人會使用包名稱com.foobar,你可以合理地確信不會有碰撞。
但在C++中,您可以選擇任何名稱空間名稱。你如何知道你要鏈接到的庫是否已經沒有使用特定的名稱空間名稱?有沒有辦法測試它,特別是如果你無法訪問源代碼或文檔?有一些指導方針可以避免這個問題嗎?
嗯,C++不支持任何反射。 –
選項1:查看頭文件,選項2:瞭解您的編譯器ABI,使用'strings'或其他工具列出所有符號,然後解除其符號 – Danh
@πάνταῥεῖ因此,我應該只使用任何我喜歡的命名空間,直到崩潰? (並使用別名,因此以後很容易更改名稱空間?) –