我正在学习PIMPL习语。它的优点之一是二进制兼容性。我想知道二进制兼容性的优点是什么。谢谢!

最佳答案

它避免了Fragile Binary Interface Problem。它是这样的:

  • 程序使用库。
  • 用户升级库。升级会更改库的二进制接口(interface)中的某些内容。
  • 程序直到重新编译后才起作用,因为它是基于旧的二进制接口(interface)构建的。

  • PIMPL习惯用法的优点之一是,它使您可以将通常是类的公共(public)接口(interface)一部分的内容移动到其私有(private)接口(interface)(实际上是到私有(private)类的接口(interface))中。您可以在不破坏二进制兼容性的情况下更改专用接口(interface)。

    10-04 22:01
    查看更多