自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [高并发内存池]如何实现一个定长内存池

就是,需要使用资源则从池内获取,释放资源时则直接放回池子内,以便下一次使用;就好比你喝的水只能从很远很远的河边获取,每次喝水都必须从家跑到河边喝;但是你拿一个大桶先打满水并放到家里,这样子每次喝水就可以直接从桶内喝,大大减少喝水的成本,这就是池化技术。

2025-11-16 20:55:08 608

原创 解决主机有网络,但是ubantu虚拟机无网络且ssh无法连接的情况

使用的虚拟软件是vmware显示VMnet1和VMnet8的相关信息虚拟机网络适配器设置这里显示NAT模式,且已经连接执行ifconfig,ip地址只出现127.0.0.1;且无法ping通8.8.8.8;

2025-10-27 10:10:45 185

原创 安装devicetool后hb工具无法使用和Could not find compiler “riscv32-unknown-elf-gcc“in PATH

【代码】安装devicetool后hb工具无法使用和Could not find compiler “riscv32-unknown-elf-gcc“in PATH。

2025-10-13 10:56:12 188

原创 [C++11]---function与bind

function是一个模板类,用于存储、复制和调用任何可调用对象(只要参数类型和返回值类型匹配)。它可以将不同类型的可调用对象统一包装成一个类型,方便作为参数传递、存储在容器中或作为回调函数。std::bind同样定义于<functional>头文件,是一个参数绑定工具。它可以对可调用对象的参数进行 “预处理”——固定部分参数的值调整参数的传递顺序或绑定成员函数与对象实例,最终生成一个新的可调用对象。

2025-08-22 12:31:16 601

原创 [C++11]---lambda表达式

C++11引入的lambda表达式是一种定义匿名函数的便捷方式,能够简化代码结构并提高可读性。其语法包括捕获列表、参数、mutable修饰符和返回值,支持值捕获和引用捕获两种变量捕获方式。lambda表达式底层实现为仿函数类,每个表达式都有唯一类型。主要应用场景包括STL算法配合、回调函数等。优点是代码简洁、可读性强、支持变量捕获,但也存在可读性降低、生命周期风险、复用性差等缺点。合理使用lambda表达式能提升代码质量,但需注意其适用场景和潜在问题。

2025-08-12 22:47:36 663

原创 [C++11]---关键字auto,decltype,nullptr

本文介绍了C++11引入的三个重要特性:auto自动类型推导、decltype类型推导和nullptr空指针关键字。auto可简化变量声明,编译器根据初始化表达式自动推断类型,但不能用于函数参数和数组声明。decltype通过表达式推导类型,可应用于变量定义、模板和函数参数,比auto更灵活。nullptr专门表示空指针,解决了NULL作为整数0可能导致的二义性问题,在重载函数调用时能准确匹配指针类型参数。这些特性增强了C++的类型安全和代码简洁性。

2025-08-08 20:28:47 599

原创 [C++11]---initializer_list<T>类模板与列表初始化

摘要:C++11引入的initializer_list<T>模板类支持花括号初始化列表,为容器和自定义类型提供统一初始化语法。该类包含begin()、end()和size()方法,返回const T*类型迭代器,元素不可修改。列表初始化禁止窄化转换,适用于内置类型、容器(如vector、map)和自定义类型,本质是构造后拷贝(编译器优化为直接构造)。注意stack和queue不支持此语法,且initializer_list对象共享底层数据。

2025-08-07 22:19:17 1131

原创 [数据结构]---并查集(从例子到代码)

并查集是一种高效处理集合合并与查询的数据结构,特别适合解决 “动态连通性” 问题。比如在社交网络中,判断用户之间是否属于同一个朋友圈。而且,它的实现不算复杂,再加上两大优化技巧,能让操作效率接近O(1)。

2025-04-27 19:53:56 789

原创 [数据结构]---图

图是由顶点(Vertex)集合和边(Edge)集合组成的一种数据结构,通常表示为,其中是顶点的非空集合,是边的集合,边是顶点的无序对(对于无向图)或有序对(对于有向图)。例如,在一个社交网络中,人可以看作顶点,人与人之间的朋友关系可以看作边。

2025-01-24 18:11:05 853 1

原创 [算法]---LRU算法

LRU算法即最近最少使用算法(LeastRecentlyUsed),是一种常用的页面置换算法和缓存淘汰策略。LRU算法的核心思想是,当内存或缓存空间不足时,优先淘汰最近最少使用的数据。具体来说,它会记录每个数据的访问时间,当需要淘汰数据时,选择访问时间最早的数据进行淘汰。

2025-01-18 17:15:01 1285

原创 [算法]---基于优先级队列和并查集改进的求最小生成树的Kruskal算法的课程设计

基于优先级队列和并查集改进的求最小生成树的Kruskal算法。本实验主要实现了通过使用优先级队列(小堆)来存储边,然后使用树形结构的并查集(使用了路径压缩和按秩合并的优化)求解图的最小生成树的Kruskal算法。这种改进后的算法在处理边的选择和避免环的形成方面更加高效,时间复杂度在一般情况下为,在稀疏图中可以近似为,其中V是图中的顶点数,E是图中的边数。Kruskal算法的核心思想是贪心策略。它总是选择当前权重最小的边,只要这条边不会与已经选择的边形成环。

2025-01-05 00:25:40 735

原创 [数据结构]---树(入门)

介绍了一些关于树和二叉树的入门知识

2024-10-06 18:45:06 1265 1

原创 [C++STL]---string类方法大全

下面介绍一些string类常用的方法,文章内容过长,如有错误烦请指正,谢谢.目录一.构造,拷贝构造,赋值重载1.构造函数与拷贝构造函数2.赋值重载函数二.迭代器 1.正向迭代器---begin() end()2.反向迭代器---rbegin() rend()3.正向常量迭代器---cbegin() cend()4.反向常量迭代器---crbegin() crend

2024-05-17 14:32:09 2534

原创 [C++]---模板初阶

class 类模板名//类体当类成员函数的声明与定义分离template类模板名::函数名(参数1,....)//函数实现类模板的成员的声明和定义必须在一个文件里,不能声明在.h文件,定义在.cpp文件下面是一个例子:class At _a;//析构函数声明//析构函数定义A::~A()_a = 0;

2024-05-08 21:23:15 1437

原创 [C++]---new和delete

当。

2024-05-05 22:25:26 1618 2

原创 [C++]---运算符重载

下面是用重载的'

2024-04-25 00:13:51 195

原创 [算法]---站在字符的角度来解决PTA 7-17 输出整数各位数字

题目:本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。

2023-11-20 11:04:16 170 1

原创 [C语言]---if语句

分支语句是c语言中重要的语句之一,本文将对if分支语句进行介绍。

2023-10-30 22:08:37 249 1

空空如也

空空如也

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

TA关注的人

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