现在我知道有人会说静态或匿名名称空间而不阅读,所以让我说不,这不是我想要的。我正在寻找的是可以让我在我的代码库中“隔离”一个文件的东西,这样它就无法访问该文件之外的任何内容,这样如果有人更改它,它就不会在其他地方无意中搞砸. 这可能吗?
问问题
89 次
2 回答
4
我正在寻找的是可以让我在我的代码库中“隔离”一个文件的东西,这样它就无法访问该文件之外的任何内容,这样如果有人更改它,它就不会在其他地方无意中搞砸. 这可能吗?
在大多数情况下,不,不是作为 C++ 语言的一部分。
为了实现您的目标,请考虑以下一项/多项:
- 将代码从您的文件移动到另一个库以减少附带损害的可能性
valgrind
通过使用诸如Purify、ASan(“地址消毒剂”)、Electric Fence等动态工具进行测试来提供“保证”- 对此文件的代码的预期设计进行评论(“隔离”、“封装”等)
- 构建时限制:转储源文件中的预处理输出,标记出现新
#include
的情况(例如,白名单之外的情况)。
于 2013-07-17T14:28:29.207 回答
2
让文件不包含项目其余部分的任何标题。当然,这并不能防止恶意编码,但是在 C++ 中也没有其他任何东西。
于 2013-07-17T14:20:32.660 回答