【发布时间】:2023-12-28 05:35:02
【问题描述】:
Qt 在其开发过程中大量使用 PIMPL 成语:https://wiki.qt.io/D-Pointer
正如我所读到的here:““d-pointer”这个名字源于奇趣科技的 Arnt Gulbrandsen,他首先将该技术引入 Qt,使其成为第一批保持二进制兼容性的 C++ GUI 库之一甚至在更大的版本之间。”。但是没有人说“D”代表什么。
那么 D-Pointer 中的“D”代表什么?
【问题讨论】:
-
我相信“d”代表“数据”,因为 d 指针指向一个存储所有类数据的结构。换句话说,它是一个“数据指针”。
-
我从未在 Qt 的文档中看到过任何声明,但我一直以 d = data.更一般地说,d 指针是 Qt 对 pimpl 设计模式的使用,即它是一个不透明的指针。您总是可以将其视为颠倒的 p(其中 p 代表 pimpl)。
标签: c++ qt qt5 pimpl-idiom d-pointer