1)什么是c++中的二进制封装,c++是否支持二进制封装?
我进行了一些搜索,但我发现的只是封装,这大致就是将数据和方法包装在一个类中。
2)那么封装和二进制封装有什么区别?
1)什么是c++中的二进制封装,c++是否支持二进制封装?
我进行了一些搜索,但我发现的只是封装,这大致就是将数据和方法包装在一个类中。
2)那么封装和二进制封装有什么区别?
这段文字的引用应该可以澄清事情:
尽管 C++ 确实通过其私有和受保护的关键字支持语法封装,但 C++ 草案标准没有二进制封装的概念。这是因为 C++ 的编译模型要求客户端的编译器能够访问有关对象布局的所有信息,以便实例化类的实例或进行非虚拟方法调用。这包括有关对象的私有和受保护数据成员的大小和顺序的信息。
澄清一下:语法封装是当您使用语言语法进行封装时。在 C++ 中,这将是私有/受保护的关键字。
我通过这个线程找到了文本,它也对这个概念进行了简短的解释。
编辑:
正如下面所指出的,C++ 中可以存在二进制封装。有关更多信息,请参阅此关于不透明指针的wiki 页面。