Jac*_*ieg 3 c++ qt pimpl-idiom d-pointer qt5
Qt在开发过程中大量使用了PIMPL习惯用法:https://wiki.qt.io/D-Pointer
正如我在这里所读到的:“ d指针”源于Trolltech的Arnt Gulbrandsen,他首先将该技术引入了Qt,使其成为最早的C ++ GUI库之一,即使在更大的发行版之间也保持二进制兼容性。” 。但是没有人说“ D”代表什么。
那么“ D”在D-Pointer中代表什么?
我会添加我自己的答案,因为我记得事情发生的那天。
我试图在保持二进制兼容性的同时扩展某些内容,并注意到有一个名为“数据”的指针,我可以将其重用于不同的目的。因此,我为与实现相关的数据创建了一个私有类(pimpl),将旧数据和新数据都放在那里,并且由于现有名称似乎合适,所以我保留了该名称。
在同一天晚些时候的一次简短会议后,我将其从 data 缩写为 d,我们同意我的模式发明了偶然发现是好的,我们应该广泛使用它,并且它d->足够短且足够独特,可以在任何地方用作特定于实现的字段的标记。
在同一次会议上,我们决定从那时起将特定于实现的数据放在 d-> 中作为一项政策,主要是为了减少包含数量,同时也是为了保持声明的 API 总体干净。类声明中的私有变量越少,意味着出错的机会就越少,诱惑也就越少,与子类命名发生冲突的事情也就越少等等。更好的卫生。
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |