1)什么是c++中的二进制封装,c++支持二进制封装吗?
我做了一些搜索,但我找到的只是封装,大致就是将数据和方法包装在一个类中。
2)那么封装和二进制封装的区别是什么?
发布于 2012-10-09 16:34:27
引用this text的话应该会让事情变得清晰起来:
虽然C++通过其私有和受保护的关键字支持语法封装,但C++草案标准没有二进制封装的概念。这是因为C++的编译模型要求客户机的编译器能够访问有关对象布局的所有信息,以便实例化类的实例或进行非虚方法调用。这包括有关对象的私有和受保护数据成员的大小和顺序的信息。
需要说明的是:语法封装是指使用语言语法进行封装。在C++中,这将是私有/受保护的关键字。
我通过this thread找到了这篇文章,里面也有对这个概念的简短解释。
编辑:
如下所述,在C++中可能存在二进制封装。有关更多信息,请参阅不透明指针上的this wiki page。
发布于 2021-06-04 15:47:38
https://stackoverflow.com/questions/12795789
复制相似问题