gpt4 book ai didi

d - 在D中,私有(private)导入和普通导入有什么区别?

转载 作者:行者123 更新时间:2023-12-02 17:23:22 24 4
gpt4 key购买 nike

在D编程语言中,有什么区别

private import tango.io.File;

import tango.io.File;

最佳答案

曾经有一段时间,导入默认是公开;也就是说,当您导入另一个模块时,其内容不仅在您的模块内可见,而且在导入您的模块的任何模块中也可见。

最终,它被更改为默认情况下它们是私有(private)

但是,手动指定 private 有几个原因:

  1. 如果导入位于公共(public)上下文中,则可以将其设置为公共(public)。例如:

    public:

    // Lots of stuff

    import blah; // oh no, everyone can see my imports!
  2. DMD 充满了与导入相关的错误。例如,选择性导入默认是公开的,尽管据称是私有(private)的。这可能会导致各种可怕的噩梦场景,其中(错误地)在一个模块中公开导入的符号会导致完全不同的模块中的符号消失并破坏您的程序。

换句话说,它们在 Tango 中可能是私有(private),因为开发人员与 DMD 合作太久了,不相信它能把这些东西做好。

关于d - 在D中,私有(private)导入和普通导入有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com