限制C 标头中的名称空间污染

Restrict namespace pollution in C++ Header

本文关键字:空间 污染 限制      更新时间:2023-10-16

在我们的团队中,我们想限制在全球范围中使用名称空间添加"使用名称空间"的实践,因为这不是一个好练习,并且经常导致名称碰撞和名称空间污染。

在GCC中,我们可以限制在编译时使用标题中使用名称空间添加的做法吗?

我的意思是在编译器在标题"使用名称空间"的全局范围内看到时,请发出某种警告。

谢谢

您可以使用命名空间检查将clang-tidy与Google Build一起使用,该检查应该使用指令对这些空间进行投诉。

只会将此扔到那里,因为它 is 中是一个非常可行的替代方案,

在10分钟内,您可能会在选择的任何脚本语言中写一些遍历源树并扫描标头文件的内容以获取"使用名称空间"。在您的"夜间构建"上自动运行此脚本,如果找到任何使用情况,则会使构建失败。