gpt4 book ai didi

c++ - 在 C++ 中隐藏 namespace

转载 作者:行者123 更新时间:2023-11-28 03:34:43 28 4
gpt4 key购买 nike

我在 SO 上阅读了其他类似问题的一些答案,这些答案似乎表明可以隐藏命名空间(为了隐藏实现细节),但他们没有说明如何。

例如,如果我想要一个包含命名空间B命名空间A,而B有一些讨厌的功能实现细节我想对最终用户隐藏的 A 是否存在某种我可以使用的链接器技巧,以便 BA 之外不可见>,但是 A 对程序的其余部分仍然可见吗?

最佳答案

命名空间的目的是避免名称冲突。这基本上就是全部。它们不提供任何隐藏任何内容的功能。尽管在一定程度上他们强制编写 namesp_name::sometinng。这可能会让用户思考这样做是否值得。

上面的评论表明,基本上是将您的 header 拆分为公共(public) header 和私有(private) header 。 private header 只包含在你的 cpp 文件中,预计不会包含在上层代码中。这在很多情况下都有效,很有帮助,但并不能解决所有问题。

关于c++ - 在 C++ 中隐藏 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320367/

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