首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++中的二进制封装?

C++中的二进制封装?
EN

Stack Overflow用户
提问于 2012-10-09 16:24:02
回答 2查看 832关注 0票数 0

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

我做了一些搜索,但我找到的只是封装,大致就是将数据和方法包装在一个类中。

2)那么封装和二进制封装的区别是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-09 16:34:27

引用this text的话应该会让事情变得清晰起来:

虽然C++通过其私有和受保护的关键字支持语法封装,但C++草案标准没有二进制封装的概念。这是因为C++的编译模型要求客户机的编译器能够访问有关对象布局的所有信息,以便实例化类的实例或进行非虚方法调用。这包括有关对象的私有和受保护数据成员的大小和顺序的信息。

需要说明的是:语法封装是指使用语言语法进行封装。在C++中,这将是私有/受保护的关键字。

我通过this thread找到了这篇文章,里面也有对这个概念的简短解释。

编辑:

如下所述,在C++中可能存在二进制封装。有关更多信息,请参阅不透明指针上的this wiki page

票数 4
EN

Stack Overflow用户

发布于 2021-06-04 15:47:38

  1. 有两种封装语法封装和二进制Encapsulation.
  2. Binary不支持二进制Encapsulation.It只支持语法Encapsulation.
  3. C封装COM支持二进制封装最好的例子是COM的QueryInterface(Encapsulation.It **)方法
  4. 因为这个方法只有一个输出参数为空**。所以它是双重重定向,因为指针是空的**。
  5. 获取更多关于Don Bix在COM内部读取的详细信息。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12795789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档