【发布时间】:2010-08-01 10:10:45
【问题描述】:
以下声明(在 C++/CLI 中)有什么区别:
public interface class IC {};
public interface struct IS {};
类似情况:
public enum class EC {};
public enum struct ES {};
?
【问题讨论】:
标签: c++-cli
以下声明(在 C++/CLI 中)有什么区别:
public interface class IC {};
public interface struct IS {};
类似情况:
public enum class EC {};
public enum struct ES {};
?
【问题讨论】:
标签: c++-cli
它们是相同的。
有关详细信息,请参阅备注下的MSDN's interface class 参考:
interface struct 等价于接口类。
我相信微软决定允许这两个选项只是为了与ref class/ref struct 和value class/value struct 保持一致。但是,由于接口没有私有成员,对于接口,这两个语句变得完全相同。
【讨论】:
没有区别。它们是等价的。
请记住,与“真正的”C++ 相比,结构和类之间实际上几乎没有区别,除了成员的默认可访问性。因此,在 C++/CLI 的平行世界中,可访问性规则无论如何都是不同的,它们是等价的并不是完全疯狂的。
【讨论】: