C++
文章平均质量分 92
Xc ++
这个作者很懒,什么都没留下…
展开
-
【实战项目】高并发内存分配器
本博客主要介绍了从零实现一个高并发内存池的过程。主要包括项目背景、所用的重难点技术、项目整体框架搭建、项目实现细节、项目过程中遇到的问题以及是如何解决的。完成该项目,至少需要掌握的预备知识有:C++数据结构(链表、哈希桶)、操作系统内存管理、单例模式、多线程、互斥锁等。项目概述:本项目参考了谷歌 tcmalloc 设计,提取核心设计实现了高并发的内存池。目前是基于Windows环境下进行实习,后期也能跨平台实现。原创 2023-08-11 16:09:37 · 885 阅读 · 1 评论 -
C++----STL简介
是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。那要如何学习STL呢?可以学习STL书籍英文版《可以把 C++ 标准程序库的学习比喻为三个境界(或层次):熟练使用STL第二境界:了解泛型技术的内涵与 STL 的学理乃至实作扩充STL。原创 2023-06-25 10:34:41 · 545 阅读 · 1 评论 -
C/C++内存管理
首先看下图,我们可以看到不同类型的变量在内存中的储存位置栈又叫堆栈–非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。堆用于程序运行时动态内存分配,堆是可以上增长的。数据段–存储全局数据和静态数据。代码段–可执行的代码/只读常量。new的原理(1)调用函数申请空间(2)在申请的空间上执行构造函数,完成对象的构造delete的原理。原创 2023-06-15 22:38:45 · 336 阅读 · 1 评论 -
C++之旅----类和对象(下)
再次理解类和对象现实生活中的实体计算机并不认识,计算机只认识二进制格式的数据。如果想要让计算机认识现 实生活中的实体,用户必须通过某种面向对象的语言,对实体进行描述,然后通过编写程序,创建对象后计算机才可以认识。比如想要让计算机认识洗衣机,就需要:1.用户先要对现实中洗衣机实体进行抽象---即在人为思想层面对洗衣机进行认识,洗衣机有什 么属性,有那些功能,即对洗衣机进行抽象认知的一个过程2.经过1。原创 2023-06-08 22:43:12 · 96 阅读 · 0 评论 -
C++之旅----类和对象(上)
对象是一个实体,我们眼睛看到的所有实体都可以看成一个实体对象类是用来对实体(对象)进行描述的。(对象有什么属性,有什么功能)类是一种自定义类型方法是实现类功能的一个具体实现,该类有什么样的功能?类的所有功能都要通过调用方法来实现。2.类与结构体的关系C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如: 之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数。原创 2023-05-30 22:25:34 · 327 阅读 · 1 评论