![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
文章平均质量分 92
Wild_Pointer.
在校大学生,热爱写bug
展开
-
Qt Object:智能即时聊天室项目
3.通过QNetWork模块,对其鉴权元素进行处理,对特定的地址进行POST请求,获取Token。5.针对用户作输入操作时,该项目采用正则表达式检测用户异常输出,防止恶意的SQL注入攻击及不规范的输入,减少服务端的恶意请求,降低成本。4.针对列表模块使用了模型/视图架构,针对好友,群聊以及智能聊天机器人分别对其映射,将数据与视图隔离,规范了代码,降低耦合。6.针对用户登录时,项目使用MD5加密算法对其密码等数据进行加密,减少用户被恶意攻击,数据泄漏的几率。原创 2024-06-22 14:59:48 · 696 阅读 · 0 评论 -
STL源码刨析:序列式容器之list
list的迭代器定义和结构。原创 2024-05-28 20:46:59 · 689 阅读 · 0 评论 -
STL源码刨析:序列式容器之vector
本系列将重点对STL中的容器进行讲解,而在容器的分类中,我们将容器分为序列式容器和关联式容器。本章作为容器的实现源码的讲解,将简单介绍这两种类型的容器的区别,再对每一个类型所含的容器的实现源码进行讲解。原创 2024-05-26 21:02:29 · 1072 阅读 · 0 评论 -
C++高并发内存池:PageCache层
由上文我们知道,PageCache层不仅要实现对CentralCache层分配内存和对其释放的内存进行管理,我们还需要针对PageCache层设计锁,保证在同一个时间内只有一个来着CentralCache层的哈希桶向PageCache层申请内存,而且我们还需要实现当PageCache层内存不足时,向OS申请内存的接口以及当PageCache层内存多余时,向OS释放内存的接口。PS:以上便是PageCache层的实现代码,重点是思路,提供的代码只作参考作用!大于256KB的内存申请和释放。原创 2024-05-22 19:58:46 · 568 阅读 · 1 评论 -
C++高并发内存池:CentralCache层
且每一个Span用于下标不同,所以指向的分配内存也会不同,当一个Span指向的内存大于一页时,我们还需要定义存储页数的变量,通过这两个变量我们还可以快速定位内存的区间。根据上一小节我们知道,CentralCache层存储的对象是一个一个的哈希桶,而哈希桶内存储的对象是一个类型为Span的双向链表,所以我们也得设计一个类似于ThreadCache的单向链表一样的变量存储这个双向链表,而且这个单向链表的类型还需要具备有进栈,出栈,插入和删除的功能。PS:为方便遍历寻找空闲的地址进行分配,所以设计为双向链表。原创 2024-05-21 20:44:26 · 719 阅读 · 1 评论 -
C++高并发内存池:ThreadCache层
由图可看出,ThreadCache存在一个链表,该链表的每一个元素的指向一个节点(取名为FreeList),该节点存在两个成员类型,一是指向下一个节点的指针,二是指向对应内存大小的指针,故ThreadCache也属于一种哈希桶的结构。为什么哈希桶的大小为208?本篇文章将着重对内存池的ThreadCache层进行讲解,而在了解ThreadCache层之前我会对向内存池申请分配内存以及释放内存的流程进行讲解,直观的感觉到在处理申请和释放内存的请求时内存池的操作,再对其ThreadCache层进行讲解。原创 2024-05-20 20:39:26 · 905 阅读 · 1 评论 -
STL源码刨析:迭代器概念与Traits编程方法
接下来我们将重点对如何判断迭代器类型,判断模板函数返回值的类型,处理模板函数接受元素为原生指针的情况,针对模板函数接受的元素为const的情况进行特化以及针对迭代器类型进行高效率的函数设计,一共五种解决问题都会在该小节进行讲解(迭代器的设计在STL的实现中起到了至关重要且十分基础的作用,本篇文章也皆在对迭代器的设计思想以及迭代器的实现进行分析讲解,其中文章出现的Traits方法就属于迭代器设计的基础,对于迭代器的正确使用有着不可替换的地位,所以本篇文章也将重点对Traits方法进行讲解。原创 2024-05-19 19:23:37 · 452 阅读 · 1 评论 -
C++高并发内存池:初步了解
什么是高并发?前言针对前篇文章《STL源码刨析:空间配置器(allocator)》中所描述的二级配置器小节中关于内存池的讲述,本人将专门对C++高并发内存池的理论以及实现细节进行针对性讲解。本篇文章将简单的对C++高并发内存池的理论以及结构分层进行描述,后续文章将通过分层的方式,对C++高并发内存池的理论以及细节进行讲解,还会配上实现源码方便读者理解。什么是高并发?高并发是指系统能够同时处理大量并行请求或操作的能力。原创 2024-05-12 20:07:38 · 941 阅读 · 1 评论 -
STL源码刨析:空间配置器(allocator)
针对阅读STL源码而言,或许许多人觉得阅读侯捷所著的《STL源码刨析》是过时的,但是我并不觉得,因为这些人往往是阅读过该书,学的更深入才对这本书进行这样的评价,针对入门的为而言,有一本书能带你大致了解STL源码的框架,这是极为便利的。针对最新版本的源码而言,这本书的确是过时的,但是并不影响我们去了解STL源码的框架,去熟悉源码的语法。我觉得一本好书不在于所有人的评价,只要它是让人学习的过程中首先了解到的便是好书。原创 2024-05-10 21:33:07 · 583 阅读 · 0 评论 -
MinGW:从入门到链接库
MinGW是一个在Windows系统上运行的GNU编译器套件,支持C和C++语言的编译。在学习MinGW后,我们将对代码的编译链接有更多的了解,也会对静态链接库和动态链接库有一个清晰的认知。针对编译过程,分为预处理,编译,汇编以及链接四种阶段,在每一个阶段生成的文件都不同,接下来将对每一个阶段执行的命令进行解析,并且分析每一个阶段代码的变化。原创 2024-04-16 20:40:27 · 1185 阅读 · 0 评论 -
Qt Creator:QThread源码刨析
本篇文章将从源码的角度出发,简单的介绍QThread类从创建到消亡所执行的过程后,将重点分析源码刨析QThread的主要函数,分析在这些函数中都执行了什么操作原创 2024-03-31 15:22:24 · 1010 阅读 · 1 评论