如何处理不使用命名空间的库

Sva*_*erg 4 c++ namespaces

在我的项目中,我必须使用其符号不在命名空间中的库.该库的类具有相当简短和通用的名称,如LoggerReader.我还在项目自己的类中使用了一些这些名称.

考虑我的项目的符号也没有命名空间的情况.可以通过将我的代码放在命名空间中并使用限定名称(例如::LoggerMy::Logger)进行区分来解决名称冲突,但我更喜欢将库的符号命名为.有什么方法可以将库的符号"强制"到我选择的命名空间中吗?

其次,如果我想使用两个定义非命名空间的不同库,该怎么办Logger?在这种情况下,有没有办法避免命名空间冲突?

πάν*_*ῥεῖ 5

有什么方法可以将库的符号"强制"到我选择的命名空间中吗?

不,你真的不能这样做.我可以想象的一种方法是提供一个包装器API,它实际上使用namespace来自不同名称的转发器和转发器LoggerExt.

如果我想使用两个定义非命名空间的不同库,该Logger怎么办?

你输了,至少链接器会告诉你.