会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
thammer
博客园
首页
新随笔
联系
订阅
管理
2025年6月24日
智能指针介绍
摘要: 普通指针存在的问题 在C/C++开发时,指针导致的问题数不胜数。通常有如下几类问题: 内存泄漏:在程序运行期间,通过malloc系列函数或者C++的new申请了内存,但是忘记free或delete了。一旦这种情况反复出现,随着时间累积最终耗尽系统内存,引发系统异常。linux内核会监测到这种情况,主
阅读全文
posted @ 2025-06-24 16:03 thammer
阅读(3)
评论(0)
推荐(0)
2025年6月18日
QSS介绍
摘要: QSS(Qt Style Sheets),Qt的样式表,和CSS非常像的东西。QSS用于为Qt应用程序定义界面元素的视觉样式。通过使用QSS,开发者可以轻松地改变应用程序的外观,而不需要深入了解每个控件的绘制细节。 Box Model(盒模型) 在了解QSS细节前需要知道QSS的基础模型盒模型,它是
阅读全文
posted @ 2025-06-18 17:32 thammer
阅读(22)
评论(0)
推荐(0)
2025年6月11日
设计模式-创建型模式之-建造者模式
摘要: 建造者模式,也叫做生成器模式,是一种对象创建型模式。建造者模式用于创建具有多个部件的复合对象,并隐藏了复合对象的创建过程,不同的部件建造者(Builder生成器)有不同的建造方法。通过建造者模式实现了对象的构建和对象的表示的分离,也就是说,通过同样的构建过程(建造逻辑)可以创建出不同的表示(使用不同
阅读全文
posted @ 2025-06-11 18:38 thammer
阅读(22)
评论(0)
推荐(0)
设计模式-创建型模式之-抽象工厂模式
摘要: 动机 在之前介绍工厂模式时,我们以播放器为例,该播放器支持多种多媒体处理库,如 ffmpeg 和 gstreamer。实际上,这两个多媒体库不仅支持视频播放,还支持音频播放。那么,我们是否需要再用工厂模式重新设计一套音频播放器呢?答案是否定的。当产品类存在两个维度的划分,播放器这个例子中即 库类类型
阅读全文
posted @ 2025-06-11 17:02 thammer
阅读(6)
评论(0)
推荐(0)
设计模式-创建型模式之-工厂模式
摘要: 简单工厂模式 动机 在实际开发中,我曾遇到这样的需求:实现一个播放器,要求支持播放列表设置、播放、停止、暂停、跳转等操作。正常情况下直接实现播放器类即可,但需求要求支持不同多媒体库(如 FFmpeg 或 GStreamer)。若分别实现两种播放器类,业务逻辑中每次操作播放器时都需判断类型;若扩展到1
阅读全文
posted @ 2025-06-11 15:14 thammer
阅读(6)
评论(0)
推荐(0)
2025年6月10日
设计模式-创建型模式之-单例模式
摘要: 正常情况下一个类定义后,可以创建很多实例。但是有时候我们有一种这样的需求:希望程序中只有一个这样的实例,以避免资源访问的冲突、干扰等。例如,我们知道,串口这种设备通常是独占的,如果设计一个类,使用指定串口通讯。为了避免使用冲突,在不使用单例模式时,我们必须小心谨慎的确保只有一个这样的实例存在。但是人
阅读全文
posted @ 2025-06-10 14:04 thammer
阅读(2)
评论(0)
推荐(0)
2025年4月27日
深入分析Qt信号-槽系列(一)
摘要: Qt的信号-槽是它的一个核心机制,入门Qt两年了,对于这一块总感觉一知半解。深入分析下这套机制,来破除开发过程中的疑惑。 1. 信号和槽的连接写法 老写法: 在Qt5之前,connect只有3个原型: static QMetaObject::Connection connect(const QObj
阅读全文
posted @ 2025-04-27 15:21 thammer
阅读(47)
评论(0)
推荐(0)
2025年4月25日
C++继承关系中特殊成员函数的注意事项
摘要: 所谓特殊成员函数就是指在某些条件下,编译器会自动生成的一些成员函数: 默认构造函数 复制构造函数 析构函数 赋值运算符重载函数 移动构造函数(C++11及之后) 移动赋值运算符重载函数(C++11及之后) 规则 至于什么条件会自动生成,参见:Effective Modern Cpp ,反正我是记不太
阅读全文
posted @ 2025-04-25 14:44 thammer
阅读(11)
评论(0)
推荐(0)
2025年4月17日
C++ 中由编译器默认生成的类方法
摘要: 在类中,如果你未显示定义下列一些函数,编译器会帮你自动生成它们的默认版本。 📌 一、编译器默认生成的六大函数 函数名称 触发条件 C++标准支持 默认构造函数 用户未定义任何构造函数时生成 C++98 析构函数 用户未定义时自动生成 C++98 复制构造函数 用户未定义时生成浅拷贝版本 C++98
阅读全文
posted @ 2025-04-17 15:16 thammer
阅读(12)
评论(0)
推荐(0)
2025年3月15日
QListWidget
摘要: QListWidget简介 在Qt开发中,需要展示表单时,往往会用到QListWidget、QTreeWidget、QTableWidget这几个控件。如果有更深度的界面需求, 就会用到更为复杂的QListView、QTreeView、QTableView。 QListWidget适用的场景 QLi
阅读全文
posted @ 2025-03-15 16:50 thammer
阅读(41)
评论(0)
推荐(0)
下一页
公告
点击右上角即可分享