1、Q_D和Q_Q指针(简称“d指针”)简介
参考博客:
https://www.devbean.net/2016/11/qt-creator-source-study-07/
https://blog.youkuaiyun.com/rabinsong/article/details/9474859
官网说明(英文):
https://wiki.qt.io/D-Pointer
Qt中大量使用Q_D和Q_Q,目的是为了实现二进制兼容,
关于二进制兼容在官方文档中有生动的说明,中文翻译可参考这篇博客Qt Creator 源码学习 07:D 指针
2、Q_D和Q_Q宏源码
在class中配合使用 Q_DECLARE_PRIVATE 和 Q_D ,方便获取d指针,d指针指向Class##Private;
在Class##Private配合使用 Q_DECLARE_PUBLIC 和 Q_Q ,方便获取q指针,q指针指向原class本身;