C++ 中命名空间和友元的交互?
是否可以使类的命名空间成为友元,假设我有一个包含许多类的单元测试命名空间,并且我希望测试命名空间成为类的友元,以便它可以访问私有实现细节。
Is it possible to make a namespace friend of a class, say I have a unit test namespace with many classes and I wanted the test namespace to be friend to a class so that it has access to private implementation details.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,这在 C++ 中是不可能的。坦率地说,它的设计有点糟糕。
No, this is not possible in C++. Frankly, it smacks of poor design.
如果您使用 .NET,您可能需要查看 InternalsVisibleTo 属性。无论如何请注意,这适用于整个程序集,而不适用于单个命名空间。
If you are using .NET, you may want to take a look at the InternalsVisibleTo attribute. Anyway note that this works for whole assemblies, not for single namespaces.