《QT从基础到进阶·三十二》Q指针和D指针用法

news2025/2/24 20:16:55

二进制兼容:
如果程序从一个以前版本的库动态链接到新版本的库之后,能够继续正常运行,而不需要重新编译,那么我们就说这个库是二进制兼容的。(通常只要dll的头文件总字节数不变基本满足二进制兼容,pimpl设计模式使用的二进制兼容,因为类指针始终是四个字节)

d指针是在主类中使用的,主类获取私有类或类中私有变量的指针
q指针是在私有数据类中使用的,来获取主类对象指针

1、Q_D具体用法:
在这里插入图片描述
Q_DECLARE_PRIVATE: MyClass能访问MyClassPrivate类中私有成员变量
Q_DISABLE_COPY: 防止D指针d_ptr二次释放
在这里插入图片描述
在这里插入图片描述

2、Q_Q具体用法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MyClass mc;
mc.fun(); //主类通过d指针先访问私有类私有函数,然后在私有函数通过q指针访问主类公有函数
在这里插入图片描述

📢博客主页: 主页
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 梦回阑珊 原创,首发于 CSDN,转载注明出处🙉
📢代码改变世界,你来改变代码!✨

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1215122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端js面试题 (四)

文章目录 ES6新增的proxy手写,proxy访问某对象输出别的数字深度拷贝,为啥无法使用JSON.parse(JSON.stringify(obj))异步编程有哪些,async await来由,本质原理是什么事件队列输出题第一题第二题第三题 粘性布局的原理,以…

2023 年 数维杯(D题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 让我们来看看数维杯D题! 问题一:最佳清…

软件外包开发设计文档的编写

编写软件设计文档是软件开发过程中至关重要的一步,下面是一些在编写软件设计文档时需要注意的问题,通过注意这些问题,可以确保软件设计文档是清晰、完整且易于理解的,为整个开发团队提供有力的指导。北京木奇移动技术有限公司&…

candence出现no connect property onpin,,,,错误,该怎么办?

原因是上面有引脚添加了 属性no connect,但依然连接了网络,这个时候需要把线剪切,然后看到引脚上有个X, 解决方法: 工具栏"place >no connect "X 再连上线,再生成网标的时候, 就不报错了…

【实施】Sentry-self-hosted部署

Sentry-self-hosted部署 介绍 Sentry 是一个开源的错误追踪(error tracking)平台。它主要用于监控和追踪应用程序中的错误、异常和崩溃。Sentry允许开发人员实时地收集和分析错误,并提供了强大的工具来排查和修复问题,研发最近是…

MCTS蒙特卡洛树搜索(The Monte Carlo Tree Search)

1、简介 蒙特卡罗树搜索是一类树搜索算法的统称,简称MCTS。它是一种用于某些决策过程的启发式搜索算法,且在搜索空间巨大的游戏中会比较有效。从全局来看,蒙特卡洛树搜索的主要目标是:给定一个游戏状态来选择最佳的下一步。等常见…

AD教程 (十六)常用PCB封装的直接调用

AD教程 (十六)常用PCB封装的直接调用 打开已经做好的PCB文件 点击设计,生成PCB库,会自动把PCB里所用到的所有封装,全部自动生成 CtrlA 将所有元器件的封装全部选中(或者只选中所需要的)&#x…

Java相关编程思想

少用继承多用“组合”——在现有类的基础上组织一个新类。 2.继承要用“is”来检验,如果继承者is被继承者,说明这是一个比较好的继承。 3.向上造型,把实现方法留给继承者去实现。(动态绑定) 4.把接口理解为抽象类的进一…

windows安装gdal库

提示:在windows上使用pip在cmd终端安装gdal 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 原因是由于丹丹安装使用pip安装gdal时报错Microsoft visual C 1…

编码器脉冲信号测量2路DI高速计数器PNP/NPN转RS-485数据采集模块 解码转换成标准Modbus RTU协议 YL150-485

特点: ● 编码器解码转换成标准Modbus RTU协议 ● 可用作编码器计数器或者转速测量 ● 支持编码器计数,可识别正反转 ● 也可以设置作为2路独立DI高速计数器 ● 计数值支持断电自动保存 ● DI输入支持PNP和NPN输入 ● 继电器和机械开关输入时可以…

几个测试接口的好工具,效率加倍~

作为一名后端程序员,一定要对自己写的接口负责,保证接口的正确和稳定性。因此,接口测试也是后端开发中的关键环节。 但我相信,很多朋友是懒得测试接口的,觉得这很麻烦。一般自己写的接口自己都不调用,而是…

【博客系统】 二

本文主要介绍了linux和如何在云服务器上部署一个简单的servlet程序. 一.云服务器 真正搞一个网站,是希望这个网站被其他人访问到 , 所以需要一个云服务器(具有外网ip)来让别人也可以访问 云服务器 操作系统是Linux(一般都是通过命令行来操作) 当前市面上常见的系统: 1.windo…

共享WiFi贴项目商业新模式,到底能不能做

共享WiFi贴的模式,已经在众多商业圈和线下商家门店中引起关注,创造出了一种新的共享互联网商业模式。然而这种共享模式到底能不能做,从中创业者可以获得多少的商业价值呢?让我们一文深度解析一下。 共享WiFi贴,简单来说…

052-第三代软件开发-系统监测

第三代软件开发-系统监测 文章目录 第三代软件开发-系统监测项目介绍系统监测 关键字: Qt、 Qml、 cpu、 内存、memory 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C 的强大功…

智能制造中后期:深挖成本、提升效率的关键——标准工时

在智能制造的背景下,企业面临着持续的成本压力和效率提升的需求。特别是在智能制造的中后期,要想进一步深挖成本、提升效率,必须考虑标准工时这一重要因素。标准工时作为一种基础而富有价值的管理工具,对于建立领先的标准工时系统…

PPP协议_基础知识

ppp协议 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议。 一.ppp协议的组成 PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成: 对各种协议数据报的封装方法(封装成帧)链路控制协议LCP    …

【机器学习】 特征工程:特征预处理,归一化、标准化、处理缺失值

特征预处理采用的是特定的统计方法(数学方法)将数据转化为算法要求的数字 1. 数值型数据 归一化,将原始数据变换到[0,1]之间 标准化,数据转化到均值为0,方差为1的范围内 缺失值,缺失值处理成均值、中…

前后端联调时JS数据精度问题的解决

在JavaScript中,Number类型范围 -2^53 1 到 2^53 - 1,而在Java中Long类型的取值范围是 -2^63 1 到 2^63 - 1, 比JavaScript中大很多,所以后端能正常处理。 其实 ES6 引入了 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 这两个常量…

开源与闭源:驾驭大模型未来的关键决断

在数字化的时代洪流中,开源与闭源的选择不断成为技术界的重要分水岭。随着特斯拉CEO埃隆马斯克的言论及其决策,公开支持开源,并糅合商业理念与技术革新,使得这场辩论再次成为公众关注的焦点。那么,在这场关乎技术发展脉…

八股文-TCP的三次握手

TCP协议是一种面向连接、可靠传输的协议,而建立连接的过程就是著名的三次握手。这个过程保证了通信的双方能够同步信息,确保后续的数据传输是可靠和有序的。本文将深入解析TCP三次握手的步骤及其意义。 漫画TCP的三次握手 TCP连接的建立采用了三次握手的…