- 博客(6)
- 收藏
- 关注
原创 c++单例模式的几种懒汉式实现(双重锁定、call_once、智能指针)
一个好用的实现方式,在类内定义一个GC管理类,并创建一个静态成员变量,其生命周期会一直持续到整个程序的退出。当程序退出的时候会调用其析构函数,从而释放该单例类对象的内存。上面实现是懒汉式单例,即在第一次需要使用单例对象时才创建该对象。这种方法可以延迟对象的创建,从而节省资源。另外,尽量保证在主线程中其他子线程创建之前 进行单例初始化,这样不用考虑线程安全–高效。单例:即整个项目有某个特殊的类,其对象只能创建一个,无法创建多个。最近项目用到了设计模式中的单例模式,特此来深入学习一下。但缺点是线程不安全的。
2024-10-30 12:51:07 294
原创 解决 TypeError: int() argument must be a string, a bytes-like object or a number, not ‘KeyboardModifie
解决 TypeError: int() argument must be a string, a bytes-like object or a number, not ‘KeyboardModifier’
2023-12-12 16:37:32 989
原创 数据结构-实现图的存储结构、dfs、bfs、dijkstra、拓扑排序等算法(c++)
提示:注释详细,若有错误还请多多指教。文章目录一、图的存储结构二、遍历算法1.DFS深度优先搜索2.BFS广度优先搜索三、最短路径问题(Dijkstra算法)四、拓扑排序总结
2022-05-19 14:04:12 520
原创 c++实现哈夫曼树以及哈夫曼编码
介绍哈夫曼树-----即最优二叉树,带权路径长度(WPL)最小的二叉树,经常应用于数据压缩。对于普通需要将字符串编码传输时,普通的编码需要将每个字符编程定长的二进制格式,但是每个字符在数据中通常出现的概率不同的,所以,需要使用不定长的二进制表示是编码的表示更短。前缀编码:对于每个字符设计长度不等的编码,必须使任一字符的编码都不是另一个字符的前缀。这样才能让编码不出现二义性。Huffman编码:是前缀编码,也是最短编码—>压缩率最高。连续存储方式建立Huffman树//树结点结构struc
2021-10-21 20:31:34 3566
原创 基于c++11,尽量简单的语法实现线程池
用到的c++11技术:mutex互斥锁、condition_variable 条件变量、functional 函数包装器、atomic 原子操作、thread 线程类、其它一些c++11常用技术。
2021-10-10 17:34:59 260 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人