我理解为什么在头文件中使用匿名命名空间是没有意义的......它们并不真正是匿名的......
然而,这引出了一个问题:是否有一种替代习惯/机制来避免在分发只有头文件的库时污染全局命名空间?
编辑:
我通常使用匿名命名空间将一些代码块限定在一个文件内部,以避免其污染全局命名空间。例如,如果某个类具有某些魔术常量,那么我可以在cpp文件中声明它,而不是声明一个全局静态int:
然而,这引出了一个问题:是否有一种替代习惯/机制来避免在分发只有头文件的库时污染全局命名空间?
编辑:
我通常使用匿名命名空间将一些代码块限定在一个文件内部,以避免其污染全局命名空间。例如,如果某个类具有某些魔术常量,那么我可以在cpp文件中声明它,而不是声明一个全局静态int:
namespace{
int magic = 5;
}
有没有一种方法可以在不使用cpp文件的情况下实现相同的效果?