自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++ Pimpl(Pointer to Implementation)设计思想

Pimpl(Pointer to Implementation)是一种通过将类的实现细节隐藏在一个私有指针背后的设计模式,旨在实现接口与实现的解耦。其核心思想是:原始:声明前置类:在公有类的头文件中,仅声明实现类的前置类型,并用智能指针(如)管理其生命周期。原始:实现类定义:在源文件中定义实现类的具体成员和方法:优化:声明前置类 实现类定义:3. 优缺点分析优点:减少编译依赖:修改实现类不会触发依赖该头文件的代码重新编译。信息隐藏:对外仅暴露接口,保护内部实现细节。缺点

2025-05-20 22:42:46 1090 1

原创 观察者模式(行为模式)

观察者模式(Observer Pattern)的使用场景主要围绕,当一个对象(被观察者)的状态变化需要自动通知其他多个对象(观察者)时,该模式能有效解耦代码。

2025-04-14 23:54:59 765

原创 dynamic_cast的理解

C++ 中用于 安全的类层次结构转换 的类型转换运算符,主要用于 多态类型(即包含虚函数的类)的指针或引用之间的转换。,而 RTTI 是通过虚函数表(vtable)实现的。

2025-03-27 00:14:42 366

原创 map和hash_map 的区别差异

通过合理选择数据结构,可以显著优化程序的性能和内存效率。

2025-03-16 19:33:20 707

原创 25年读书笔记:第三周 智能指针share_ptr理解

element_type:模板元素类型boost::detail::shared_count pn:引用计数类型sp_counted_impl_p 引用计数实现类sp_counted_base 引用计数抽象基类shared_ptr 实现内部结构(大概uml图)特点:单次内存分配:减少内存分配次数,提高性能。内存连续:对象和控制块在内存中连续,提高缓存局部性。生命周期绑定:对象内存和控制块内存同时分配和释放。示例代码:2. 通过 显式创建内存分配方式:对象内存

2025-03-16 18:58:43 641

原创 25年第二周:读书笔记

两个类相互包含对方作为成员的情况,比如类A有一个类B的对象成员,而类B又有一个类A的对象成。

2025-03-02 21:54:25 265

原创 25年第一周:读书笔记

接口隔离原则的核心是避免将过多的责任压在一个接口上,通过拆分接口,使每个类只依赖于它所需要的功能,提升系统的灵活性、可维护性并降低复杂度。

2025-02-08 18:35:33 175

原创 开发笔记4

虽然不需要构造函数,但是编译器还是会默认生成一个,这个和抽象类不能实例化没有必然联系。(所以构造函数使用delete是不对的)个人理解:抽象类默认有构造函数编译器会检测类中是否有纯虚函数,检测有纯虚函数,就会阻止实例化。

2025-01-19 16:25:59 440

原创 Qt 开发笔记2

>//自定义数据结构 需要注册绑定。

2024-12-14 16:27:41 400

原创 Qt Qt::UniqueConnection 底层调用

在这里插入图片描述。

2024-11-24 22:28:56 429

原创 Qt 开发笔记

工作中遇到的一些小问题记录

2024-11-22 00:20:07 402

原创 Qt 界面无边框 拖拽移动 问题处理:setMouseTracking(true)无法跟踪鼠标事件

Qt 无边框问题处理

2024-11-10 18:17:04 661

原创 effective c++ 读书笔记

effective c++ 笔记

2024-10-27 15:41:34 228 1

原创 Qt 使用原生 opengl 遇到的问题 OpenGL header already included, remove this include, glad already provi

【代码】Qt 使用原生 opengl 遇到的问题 OpenGL header already included, remove this include, glad already provi。

2024-05-19 22:58:30 370

原创 Qt 模态 非模态的使用

类创建模态或非模态对话框。要创建模态对话框,可以使用。方法,而要创建非模态对话框,则可以使用。

2024-05-19 14:59:43 704

原创 光照贴图学习

【代码】光照题图学习。

2024-04-06 23:22:52 263

转载 为何Windows下的动态库总伴随一个静态库?

我对VS下的动态库的生成并不是很熟悉,表示无法回答这个问题。但这个问题本身却也让我产生了疑问:动态库真的需要总是伴随着一个静态库?根据我在Linux下的经验,这两种形式的代码库是没有什么依赖关系的。那在Windows下到底是怎么回事?带着这些疑问,我去搜索了一下。下面将得到的结论和一些相关知识进行总结。

2024-03-31 15:58:04 132

转载 Qt D指针 Q指针

(没有翻译,只有链接 便于自己查看,勿喷)https://wiki.qt.io/D-Pointer

2024-03-17 18:55:41 104

原创 git reset --hard origin/master 文件被删除后的恢复操作

【代码】git reset --hard origin/master 文件被删除后的回复操作。

2024-02-18 19:05:41 1411 2

原创 Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)

【代码】Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)

2023-12-03 20:09:59 1387

原创 Opengl 纹理(知识点)

opengl 纹理介绍

2023-11-22 23:30:49 255

原创 cmake release模式下 进行调试 (windows Visual Studio)

【代码】cmake release模式下 进行调试 (windows Visual Studio)

2023-11-12 01:04:54 1177

原创 Failed to connect to github.com port 443:connection timed out

【代码】Failed to connect to github.com port 443:connection timed out。

2023-11-08 00:15:21 493

原创 Qt http 的认证方式以及简单实现

WWW-Authenticate` 和 `Authenticate` 是两个与HTTP认证相关的HTTP头部字段,用于客户端和服务器之间交换身份验证信息。它们的区别在于使用的上下文和位置。

2023-08-27 13:00:59 1381

原创 条款11:优先选用删除函数,而非private 未定义函数

比如在自定义类中 为了阻止其他程序员使用 拷贝构造,等函数。将该函数定义为private 不去定义只是声明, 或者delete.

2023-05-28 16:35:22 201

原创 opengl灯光基础:2.1 光照基础知识

这是一种用于模拟粗糙表面的光照模型。它考虑了表面的微小凹凸结构对光线的散射影响,能够产生更真实的漫反射光照效果。ADS模型:(主要的模型)

2023-05-28 13:58:44 1110

原创 opengl灯光基础:2.3材料

【代码】opengl灯光基础:2.3材料。

2023-05-16 00:04:23 256

原创 opengl灯光基础:2.2 ADS模型和Phong 光照模型的关联,以及具体实现

ADS模型是一种光照模型,由环境光照(Ambient)、漫反射光照(Diffuse)和镜面光照(Specular)三个部分组成。它在计算表面的颜色和明暗度时分别考虑了这三种光照的影响。

2023-05-03 20:10:41 384

原创 glDrawArrays 和 glDrawElements 的区别

【代码】glDrawArrays 和 glDrawElements 的区别。

2023-04-09 22:46:55 475

原创 opengl 坐标系

opengl 坐标系统

2023-04-09 14:56:38 531

原创 Opengl(一)窗体的创建

【代码】Opengl(一)窗体的创建。

2023-04-03 23:45:53 197

原创 QStringLiteral 的作用和使用场景:

QStringLiteral 是 Qt 框架中的一个宏,用于创建 QString 类型的字符串字面量。它在编译时执行,并提供了一种更高效的方式来创建字符串。在使用QString字面量时,需要遵循以下规则:在字符串前加上或前缀(两者等价)。或。字符串内容中不能包含\0字符,否则其行为是未定义的。QString总之,使用可以在编译时进行字符串处理,优化程序性能和安全性,并且方便在Qt代码中使用和处理字符串。

2023-04-01 00:23:10 2193 3

原创 std::as_const的简单实用

【代码】std::as_const的简单实用。

2023-03-15 23:17:28 788

原创 Qt静态扫描(命令行操作)

Qt 命令行操作静态扫描

2023-03-11 10:54:41 1142

原创 Qt 读取Execl 简单使用

读取Execl

2023-03-02 21:39:11 741

原创 Qt 中文乱码 以及 工程 moc bin设置

Qt 小技巧使用

2023-02-25 16:51:04 215

原创 CMake Error: CMake can not determine linker language for target:XXX

cmake 使用

2022-08-28 14:31:50 840

原创 Qt tcp sever

Qt tcp sever threadpool

2022-07-15 00:09:08 638

原创 qt自定义 QLineEdit

Qt QLineEdit 封装

2022-07-12 00:03:36 697

原创 Qt Https http 请求案例

Qt Https

2022-06-12 23:55:51 584

stl 标准库源码 免费不需要积分

stl 标准库源码 免费不需要积分

2022-05-29

cv2pdb.exe

根据exe 生成 对应的pdb 文件

2019-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除