- 博客(141)
- 资源 (2)
- 收藏
- 关注
原创 package_tsak 和 promise 的区别
摘要: std::packaged_task和std::promise均用于异步操作的结果传递,但设计目标不同。 packaged_task:绑定可调用对象,自动存储返回值到关联的future,适合任务队列、线程池等场景(如分解子任务)。 promise:需手动调用set_value设置结果,灵活性更高,适用于分散回调或复杂控制流(如跨线程/函数设置结果)。 关键区别:packaged_task集成任务与结果传递,而promise仅管理结果通道,需外部驱动逻辑。根据任务集中性选择工具:集中任务用packag
2025-07-15 16:49:19
339
原创 https交互原理
HTTPS 通信中结合 RSA 和 AES 加密的流程,本质是利用 RSA 的安全特性交换 AES 密钥,再用高效的 AES 加密实际数据传输。客户端发送支持的功能列表:TLS 版本、支持的加密套件(如。客户端用 CA 公钥验证证书合法性(防中间人攻击)。解密获得 Pre-Master Secret。(如 AES-256 密钥)和 MAC 密钥。客户端和服务器分别用以下三个参数生成相同的。消息,宣告后续通信使用协商的密钥加密。消息,验证握手过程是否一致且未被篡改。解密响应,获得明文内容。
2025-07-13 16:26:11
737
原创 Effective C++ 条款:32 (避免遮挡继承而来的名称)
在C++中,派生类(子类)中的成员函数会隐藏基类(父类)中同名的成员函数,即使基类中的函数有不同的参数列表。这被称为“或“函数隐藏在给定的代码中,基类Base定义了两个重载的mf1函数:一个没有参数,另一个带有一个int参数。派生类Driver中定义了一个mf1函数(没有参数)。这会导致基类中所有名为mf1的函数(包括重载版本)在Driver类的作用域中被隐藏。
2025-07-06 12:05:45
204
原创 Vscode 编写Markdown支持 plantuml书写
本文介绍了在VSCode中配置PlantUML绘图环境的完整步骤:1)安装PlantUML插件;2)下载并配置Java运行环境;3)安装Graphviz可视化工具;4)获取plantuml.jar文件;5)设置系统环境变量并配置Markdown Preview Enhanced插件;6)通过.puml文件和Markdown文档两种方式进行测试验证。整个流程包含详细的下载链接和配置截图,帮助用户快速搭建UML图表绘制环境。(98字)
2025-06-21 13:46:23
514
原创 C++ Pimpl(Pointer to Implementation)设计思想
Pimpl(Pointer to Implementation)是一种通过将类的实现细节隐藏在一个私有指针背后的设计模式,旨在实现接口与实现的解耦。其核心思想是:原始:声明前置类:在公有类的头文件中,仅声明实现类的前置类型,并用智能指针(如)管理其生命周期。原始:实现类定义:在源文件中定义实现类的具体成员和方法:优化:声明前置类 实现类定义:3. 优缺点分析优点:减少编译依赖:修改实现类不会触发依赖该头文件的代码重新编译。信息隐藏:对外仅暴露接口,保护内部实现细节。缺点
2025-05-20 22:42:46
1156
1
原创 观察者模式(行为模式)
观察者模式(Observer Pattern)的使用场景主要围绕,当一个对象(被观察者)的状态变化需要自动通知其他多个对象(观察者)时,该模式能有效解耦代码。
2025-04-14 23:54:59
836
原创 dynamic_cast的理解
C++ 中用于 安全的类层次结构转换 的类型转换运算符,主要用于 多态类型(即包含虚函数的类)的指针或引用之间的转换。,而 RTTI 是通过虚函数表(vtable)实现的。
2025-03-27 00:14:42
402
原创 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
654
原创 25年第一周:读书笔记
接口隔离原则的核心是避免将过多的责任压在一个接口上,通过拆分接口,使每个类只依赖于它所需要的功能,提升系统的灵活性、可维护性并降低复杂度。
2025-02-08 18:35:33
182
原创 开发笔记4
虽然不需要构造函数,但是编译器还是会默认生成一个,这个和抽象类不能实例化没有必然联系。(所以构造函数使用delete是不对的)个人理解:抽象类默认有构造函数编译器会检测类中是否有纯虚函数,检测有纯虚函数,就会阻止实例化。
2025-01-19 16:25:59
443
原创 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
385
转载 为何Windows下的动态库总伴随一个静态库?
我对VS下的动态库的生成并不是很熟悉,表示无法回答这个问题。但这个问题本身却也让我产生了疑问:动态库真的需要总是伴随着一个静态库?根据我在Linux下的经验,这两种形式的代码库是没有什么依赖关系的。那在Windows下到底是怎么回事?带着这些疑问,我去搜索了一下。下面将得到的结论和一些相关知识进行总结。
2024-03-31 15:58:04
140
转载 Qt D指针 Q指针
(没有翻译,只有链接 便于自己查看,勿喷)https://wiki.qt.io/D-Pointer
2024-03-17 18:55:41
109
原创 git reset --hard origin/master 文件被删除后的恢复操作
【代码】git reset --hard origin/master 文件被删除后的回复操作。
2024-02-18 19:05:41
1573
2
原创 Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)
【代码】Qt Rsa 加解密方法使用(pkcs1, pkcs8, 以及文件存储和内存存储密钥)
2023-12-03 20:09:59
1412
原创 cmake release模式下 进行调试 (windows Visual Studio)
【代码】cmake release模式下 进行调试 (windows Visual Studio)
2023-11-12 01:04:54
1241
原创 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
495
原创 Qt http 的认证方式以及简单实现
WWW-Authenticate` 和 `Authenticate` 是两个与HTTP认证相关的HTTP头部字段,用于客户端和服务器之间交换身份验证信息。它们的区别在于使用的上下文和位置。
2023-08-27 13:00:59
1405
原创 条款11:优先选用删除函数,而非private 未定义函数
比如在自定义类中 为了阻止其他程序员使用 拷贝构造,等函数。将该函数定义为private 不去定义只是声明, 或者delete.
2023-05-28 16:35:22
209
原创 opengl灯光基础:2.1 光照基础知识
这是一种用于模拟粗糙表面的光照模型。它考虑了表面的微小凹凸结构对光线的散射影响,能够产生更真实的漫反射光照效果。ADS模型:(主要的模型)
2023-05-28 13:58:44
1115
原创 opengl灯光基础:2.2 ADS模型和Phong 光照模型的关联,以及具体实现
ADS模型是一种光照模型,由环境光照(Ambient)、漫反射光照(Diffuse)和镜面光照(Specular)三个部分组成。它在计算表面的颜色和明暗度时分别考虑了这三种光照的影响。
2023-05-03 20:10:41
403
原创 QStringLiteral 的作用和使用场景:
QStringLiteral 是 Qt 框架中的一个宏,用于创建 QString 类型的字符串字面量。它在编译时执行,并提供了一种更高效的方式来创建字符串。在使用QString字面量时,需要遵循以下规则:在字符串前加上或前缀(两者等价)。或。字符串内容中不能包含\0字符,否则其行为是未定义的。QString总之,使用可以在编译时进行字符串处理,优化程序性能和安全性,并且方便在Qt代码中使用和处理字符串。
2023-04-01 00:23:10
2240
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人