菜鸟笔记
提升您的技术认知

C++ 笔记 第2页

C++ struct 初始化的问题

菜鸟阅读 : 314赞(0)

struct student { int age; string name; int id; }; 初始化: student st1={10, “li ming”, 01}; 修改某个成员变量的值:st1.id = ...

C++ 中的对象内存池实现

菜鸟阅读 : 436赞(0)

在 C++ 中,对象内存池是一种用于优化内存分配和释放的技术,特别是对于频繁创建和销毁的对象。它通过重复使用已分配的内存块来减少动态内存分配的开销,从而提高性能。 以下是关于对象内存池实现的详细介绍和完整代码示例。 1. 对象内存池的特点 ...

C++ STL 容器内存池

菜鸟阅读 : 522赞(0)

在 C++ 中,为了优化性能,减少频繁的内存分配和释放操作,可以自定义一个内存池分配器,并将其与 STL 容器结合使用。以下是实现自定义内存池分配器的完整教程。 1. 为什么需要自定义内存池分配器 减少动态分配的开销: 使用 new 或 m...

循环队列

菜鸟阅读 : 390赞(0)

在开发时常常需要使用循环队列、看到python中的Queue线程安全的队列、自己也想实现一个。 没什么好说的、代码: #pragma once #include <Windows.h> template<class T&g...

优先队列实现

菜鸟阅读 : 340赞(0)

简单说明 优先队列可以根据key值的大小将元素进行排序、先被pop的通常是优先级最高的。 优先队列的内部实现其实是利用了堆的数据结构、binary heap是一种完全二叉树、以大堆为例、每棵树的根节点的key值一定大于其子孙节点的key值、...

C++ 利用linux函数makecontext等实现简单协程

菜鸟阅读 : 443赞(0)

我是一个编程新手,最近了解到协程这个概念,协程可以理解为用户级线程,在用户空间实现调度,在处理异步IO时,可以在子程序中让出cpu交给其他协程,等事件完成再切换到子程序中。当然回调也可以实现,但是使用协程会使程序“看起来”是顺序执行的。 我...

STL内存池

菜鸟阅读 : 236赞(0)

简单说下:设计内存池的目的主要是为了解决在一些特殊的场合(比如:网络编程时接受数据包)频繁的创建和销毁、造成的大量的内存碎片和降低效率。 在STL的内存池中可以看到、它的实现是利用了一个自由链表数组、Obj** free_lists;数组中...

C++协程从入门到精通

菜鸟阅读 : 325赞(0)

(一)基本概念 协程(coroutine)是一种特殊的函数,它可以被暂停(suspend)、恢复执行(resume),并且一个协程可以被多次调用。C++中的协程属于stackless协程,即协程被suspend时不需要堆栈。C++20开始引...