自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 C++ 使用MP对类进行重设计

看起来可以工作,对于大小大致相同的string字段使用了相同的分配器,无论是从代码可读性、效率上来说它都没有错,但对payload字段使用了独立的分配器因为我们无法确认消息内容的大小。这里我们发现序列化方法SerializationMessage无法应对模板参数Payload类型的各种变化,解决方案是将变化委托出去交给外层去做,是的,我们还是需要添加间接的中间层来优化。Q1&Q2问题得到了解决并且很好的兼容了原有的调用,并且你拥有了一个很好的设计。所有的Payload都是可扩展的啦,并且拥有足够的弹性。

2023-09-26 15:47:15 198 2

原创 C++ 反射库Ponder源码剖析(1)

源码分析

2022-10-24 21:36:32 1998

原创 QtPromise源码剖析-CPP模板元编程

目录Promise概念QtPromise开源模板库QtPromise模板库中所使用的设计模式1.QtPromise中的构建模式2.QtPromise中的装饰模式QtPromise模板库中使用到的元编程技巧1. 模板元函数2.全特化&偏特化构建if-then-else3.Type Traits 类型特征4.SFINAEQtPromise源码分析和实现思想1. QtPromise的UML 时序图2. QtPromise源码分析设计...

2021-09-28 20:07:47 1518 1

原创 Qt源码剖析-智能指针

智能指针是什么?1. 智能指针是使用RAII技术(惯用手法)对裸指针进行封装、隔离、管理。2. 把堆对象转移为栈对象。为什么使用QT智能(smart)指针?CPP中在使用堆内存时我们必须使用指针,使用指针给我带来便利和强大的威力同时也给我们带来了很多隐患,所以指针也是把双刃剑。常见的隐患有:1. 我们在使用new创建一个对象的同时,由于种种原因而忘记了delete从而导致内存泄漏影响应用运行效率2. 我们在使用一个指针的时候不知道该指针指向的对象是否已经析构,从而导致使用一个错误

2021-09-26 20:22:34 1142

原创 基于Qt网络库的简单设计

现代应用(app)对于网络的依赖可以说无处不在,网络库设计的好坏直接影响到系统的健壮性.本文基于Qt 网络模块来设计一个基础网络库,

2021-02-26 14:19:44 2911 2

原创 QT源码剖析-QT对象通信机制信号槽的绑定具体实现

本文介绍QT核心机制之一的信号和槽。核心知识点:模板元编程技术、Qt moc预编译机制、 QObject类一: 信号槽实现的助手类:信号槽主要依赖以下类型萃取模板元函数:1. 函数指针类型萃取元函数,此处贴出基本常用的。 为保证篇幅不至于太长,其他偏特化类型萃取元函数不做说明。: 函数指针类型萃取元函数声明定义, 提供函数指针类型的参数个数和是否是成员函数指针默认枚举值。(实际使用中基本不会匹配此类型萃取元函数): 类型的成员函数指针类型偏特化版本::Functio.

2020-11-23 18:24:33 1780 1

原创 MSVC libcurl+openssl+zlib windows 编译过程

MSVC libcurl windows 编译过程libcurl下载: https://curl.haxx.se/windows/.为什么自己要编译windows版本libcurlcurl官网编译出来的windows库文件为.a 后缀(原因是libcurl拿mingw编译) MSVC无法直接使用,需要转换为lib文件。下载的pe文件无源码,无pdb符号文件。 对于源码调试问题定位不友好。官网给出的pe文件已经静态链接到指定第三方库,无法灵活定制化。libcurl msvc两种编译方式

2020-09-09 15:38:14 596

空空如也

空空如也

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

TA关注的人

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