1
1
好的,我自己找到了答案。我想我没有意识到命名空间中的using声明在以下同名命名空间范围中仍然有效。现在,Bjarne的话也更有意义,即不应污染全局命名空间:)。如果我仍然做错了什么,请纠正我。 共享Ptr.h:
型号Par.h:
|
2
0
我个人看不到在任何标题上使用“using”有任何好处。 曾经 . 这不仅使重新考虑变得极其困难,因为如果删除标头标头包含链,编译器错误将变得无用。获取300+个缺少声明、类型未定义等错误;这不完全是我对“娱乐时光”的定义。 当然,您可以使用一些预处理器魔法来完成它,而不考虑名称冲突。但为什么?如果您有名称空间冲突,那么您的方法有问题,那么绕过它就像关闭火灾警报一样好,并声称不再发生火灾。 作为一个额外的好处,它还模糊了你的类的起源,比如“我是从X命名空间使用FooClass吗?还是从Y命名空间使用?”。 |