C+中的二进制封装+;? 1)C++中二进制封装是什么,C++支持二进制封装吗?

C+中的二进制封装+;? 1)C++中二进制封装是什么,C++支持二进制封装吗?,c++,encapsulation,C++,Encapsulation,我做了一些搜索,但我发现的只是封装,大致上就是在类中包装数据和方法 2) 那么,封装和二进制封装之间有什么区别呢?的一句话应该可以澄清一下: < C++ >通过它的私有和支持来支持语法封装。 受保护的关键字,C++草稿标准没有二进制概念 封装。这是因为C++的编译模型需要 客户端的编译器可以访问有关 对象布局,以便实例化类的实例或 进行非虚拟方法调用。这包括有关大小的信息 以及对象的私有和受保护数据成员的顺序 澄清一下:语法封装是指使用语言语法进行封装。在C++中,这将是私有/受保护的关键字。

我做了一些搜索,但我发现的只是封装,大致上就是在类中包装数据和方法

2) 那么,封装和二进制封装之间有什么区别呢?

的一句话应该可以澄清一下:

< C++ >通过它的私有和支持来支持语法封装。 受保护的关键字,C++草稿标准没有二进制概念 封装。这是因为C++的编译模型需要 客户端的编译器可以访问有关 对象布局,以便实例化类的实例或 进行非虚拟方法调用。这包括有关大小的信息 以及对象的私有和受保护数据成员的顺序

澄清一下:语法封装是指使用语言语法进行封装。在C++中,这将是私有/受保护的关键字。 我发现这篇文章对这个概念也有一个简短的解释

编辑:

下面指出,C++中可以存在二进制封装。有关更多信息,请参阅不透明指针上的内容。

的一句话应该可以澄清问题:

< C++ >通过它的私有和支持来支持语法封装。 受保护的关键字,C++草稿标准没有二进制概念 封装。这是因为C++的编译模型需要 客户端的编译器可以访问有关 对象布局,以便实例化类的实例或 进行非虚拟方法调用。这包括有关大小的信息 以及对象的私有和受保护数据成员的顺序

澄清一下:语法封装是指使用语言语法进行封装。在C++中,这将是私有/受保护的关键字。 我发现这篇文章对这个概念也有一个简短的解释

编辑:

下面指出,C++中可以存在二进制封装。有关详细信息,请参见不透明指针上的

  • 封装有两种类型 语法封装和二进制封装
  • C++不支持二进制封装。它只支持语法封装
  • COM支持二进制封装
  • 二进制封装的最好例子是COM的QueryInterface(void**)方法
  • 因为此方法将一个输出参数作为void**。 所以它是双重重定向,因为指针是void**
  • 要获得更多关于这个的详细信息,请阅读Don Bix的《内部COM》
  • 封装有两种类型 语法封装和二进制封装
  • C++不支持二进制封装。它只支持语法封装
  • COM支持二进制封装
  • 二进制封装的最好例子是COM的QueryInterface(void**)方法
  • 因为此方法将一个输出参数作为void**。 所以它是双重重定向,因为指针是void**
  • 要获得更多关于这个的详细信息,请阅读Don Bix的《内部COM》

  • “从顶部返回第三个”从顶部返回第三个top@Keyser-----它的答案很好,因为我实际上在准备COM而不是C++,因为我不需要在C++中进行很多详细的解释或程序。我想你可能会觉得很有趣,为什么我要学习COM(因为我听到人们说现在没有使用COM),但我在大学教学大纲中什么都做不了,所以我不得不这么做。然后你可能会喜欢我引用的更多的文本。它的标题是“COM作为更好的C++”。祝你考试顺利!事实上,二进制封装在C++中是可能的。如果您查找PIMPL习惯用法,就会发现您可以抽象出确切的状态表示,并将其隐藏在不透明指针后面,这与C.@MatthieuM中的情况非常相似。谢谢你指出这一点。这本书读得很好。但是,这是否应该被视为一个特殊的情况,或者应该说C++支持二进制封装(一般来说)?”凯泽:很难说。这是可以做到的,但我们是否认为语言支持与否是有争议的。有人可能会说它是可能的(允许指向不完整类型的指针),这意味着它是受支持的,而另一个人可能会说,因为它需要手工编写的代码,所以它不是。。。凯泽的-----它的答案很好,因为我实际上在准备COM而不是C++,因为我不需要在C++中进行很多详细的解释或程序。我想你可能会觉得很有趣,为什么我要学习COM(因为我听到人们说现在没有使用COM),但我在大学教学大纲中什么都做不了,所以我不得不这么做。然后你可能会喜欢我引用的更多的文本。它的标题是“COM作为更好的C++”。祝你考试顺利!事实上,二进制封装在C++中是可能的。如果您查找PIMPL习惯用法,就会发现您可以抽象出确切的状态表示,并将其隐藏在不透明指针后面,这与C.@MatthieuM中的情况非常相似。谢谢你指出这一点。这本书读得很好。但是,这是否应该被视为一个特殊的情况,或者应该说C++支持二进制封装(一般来说)?”凯泽:很难说。这是可以做到的,但我们是否认为语言支持与否是有争议的。有人可能会说它是可能的(允许指向不完整类型的指针),这意味着它是受支持的,而另一个人可能会说,因为它需要手工编写的代码,所以它不是。。。什么意思总是模糊不清。