
C++项目
文章平均质量分 94
沐雪轻挽萤
这个作者很懒,什么都没留下…
展开
-
C++11内存池设计与实现深度解析
这里是因为直接调用默认拷贝构造会出现问题,因此重写拷贝构造的接口,实际上用的是委托的默认构造函数,这样即使不小心调用了拷贝构造,最后实际上执行的仍是默认构造,从而避免出现因浅拷贝而出现的问题。这里借助通俗的模型帮助大家理解内存池是怎么运作的。假设我们有一个快递站(内存池),里面有很多货架(Block),每个货架有很多格子(Slot)用于存放快递(要存储的对象),这里假设所有快递占用的空间一样。注意:一个内存池有很多个内存块(block),一个内存块有多个内存槽(slot),内存槽一般就可以用来存储对象。原创 2025-04-06 17:27:45 · 882 阅读 · 0 评论 -
C++实现环形缓冲区
public:// 类型定义 (STL容器要求)提供STL容器标准接口所需的类型定义支持自定义分配器(默认使用std::allocator)template <typename T, typename Allocator = std::allocator<T>>:这是一个模板声明。T是一个模板类型参数,代表环形缓冲区中存储的元素类型。Allocator是另一个模板类型参数,它代表用于分配和释放内存的分配器类型,默认使用std::allocator<T>,这是标准库中提供的通用分配器。原创 2025-04-08 20:57:18 · 853 阅读 · 0 评论