问题标签 [d-pointer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 d 指针类中添加新成员函数会破坏二进制兼容性吗?
将新成员函数添加到 d 指针类定义中会破坏二进制兼容性吗?
例如,与原始定义相比,下面的新定义会破坏二进制兼容性吗?(附带问题,是否有工具可以告诉我新的 .so 与旧的 .so 相比是否会破坏二进制兼容性?如果没有,我该如何手动检查?)
原来的:
新的:
仅供参考:我知道 d 指针类应该在 cc 文件而不是标题中指定。上面的示例旨在关注二进制兼容性问题。
c++ - QExplicitlySharedPointer 和继承
QExplicitlySharedPointer
使用和继承类的最佳方式是什么。我希望当 BaseClass 自己退出时有一个 my d 指针QExplicitlySharedPointer<BaseClassPrivate>
,当我在这个基类之上有一个 Derived 类时,我希望 d 是一个QExplicitlySharedPointer<DerivedClassPrivate>
.
我尝试让 DerivedClassPrivate 从 BaseClassPrivate 继承,然后使 d 指针受保护并在派生类中重新定义 d 指针,但现在看来我有两个 d 指针副本,它们都是它们所定义的类的本地副本在...这不是我想要的。
c++ - Qt访问继承类的D-Pointer
我试图了解我的整个 d 指针是如何工作的。我得到了大部分零件,但我目前面临一个问题:
就像这里Dpointer 继承的人一样,我想使用 d-pointers 继承一个类(实际上它是 QProcess)。
由于访问 d 指针的函数是私有的,我无法通过简单的继承来访问它。我的想法是再次使用 Q_DECLARE_PRIVATE 宏来获取函数并访问它。这能行吗?在我尝试之前,我想要一些提示,因为我不知道这是否可行。
(我需要这个来避免整个许可问题。)
我的进程.h
我的进程.cpp
c++ - 共享库中的 D 指针和组合类
我正在 Qt5 C++ 中创建一个共享库。为了让未来的更新保持二进制兼容性,我想使用 d-pointer 技术。但是,当有类的组合时,我不知道如何应用它。我找到的示例,包括此处的示例,仅说明了类继承的情况。我的问题是
我是否需要为库中的每个类(myLib、B 和 C)或只为主要类(myLib)创建一个相应的私有类,以及以后如何访问它们?
这是我的设置和没有私有类的所需功能:
我的库
溴化氢
通道
在主应用程序的某个地方:
c++ - d指针中的“d”代表什么?
Qt 在其开发过程中大量使用 PIMPL 成语:https ://wiki.qt.io/D-Pointer
正如我在这里所读到的:“'d-pointer' 这个名字源于奇趣科技的 Arnt Gulbrandsen,他首先将该技术引入 Qt,使其成为第一个即使在更大版本之间也能保持二进制兼容性的 C++ GUI 库之一。” . 但是没有人说“D”代表什么。
那么 D-Pointer 中的“D”代表什么?