-1

现在我知道有人会说静态或匿名名称空间而不阅读,所以让我说不,这不是我想要的。我正在寻找的是可以让我在我的代码库中“隔离”一个文件的东西,这样它就无法访问该文件之外的任何内容,这样如果有人更改它,它就不会在其他地方无意中搞砸. 这可能吗?

4

2 回答 2

4

我正在寻找的是可以让我在我的代码库中“隔离”一个文件的东西,这样它就无法访问该文件之外的任何内容,这样如果有人更改它,它就不会在其他地方无意中搞砸. 这可能吗?

在大多数情况下,不,不是作为 C++ 语言的一部分。

为了实现您的目标,请考虑以下一项/多项:

  • 将代码从您的文件移动到另一个库以减少附带损害的可能性
  • valgrind通过使用诸如Purify、ASan(“地址消毒剂”)、Electric Fence等动态工具进行测试来提供“保证”
  • 对此文件的代码的预期设计进行评论(“隔离”、“封装”等)
  • 构建时限制:转储源文件中的预处理输出,标记出现新#include的情况(例如,白名单之外的情况)。
于 2013-07-17T14:28:29.207 回答
2

让文件不包含项目其余部分的任何标题。当然,这并不能防止恶意编码,但是在 C++ 中也没有其他任何东西。

于 2013-07-17T14:20:32.660 回答