我经常发现自己处于 3rd 方库可以使用一些当前不存在的功能或实用程序的情况。在编写这些配套实用程序时,出现了将它们放入哪个命名空间的问题。
我已经选择了一个约定来在我自己的范围内隐藏第 3 方的名称空间,但我并没有完全说服自己没有潜伏着不必要的影响。
示例实用程序标头:
#include <third_party/Thing.hpp>
namespace my_namespace
{
namespace third_party
{
typedef ::third_party::Thing<int,3> Thing3i
}
}
所以问题是:这样做有什么重大的负面后果吗?