在XAML SwapChainPanel DirectX互操作示例中的某些.h文件中,成员被声明为受保护的私有.
这与受保护或私有有何不同?
请参阅文档中的命名空间和类型可见性(C++/CX).有一个名为成员可访问性和可见性的表,解释了不同的访问修饰符.特别,
受保护的私有或私有受保护:在元数据中不可见; 应用程序或组件中受保护的可访问性.
当您希望成员受到保护时,可以使用此方法,以便可以从同一模块中定义的派生类访问它,但不希望该成员出现在元数据中.元数据中不存在的内容无法在ABI中使用.
什么时候有用?文档中的Ref类和结构(C++/CX)页面解释了......
标准C++类型必须具有私有,内部或受保护的私有可访问性,这可防止它们被发送到元数据.
因此,受保护私有的主要用途是,如果您希望受保护的成员使用无法在ABI上使用的C++语言功能.这两个链接的文档页面以及其余的C++/CX文档包含更多相关信息.