![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 52
梦想是优秀社畜
目前是一个研究生打工仔,项目编程的一些问题以及解决方案佛系记录在CSDN里~
展开
-
C语言操作MySQL数据库常用函数--mysql_init()、mysql_real_connect()、mysql_query()、mysql_store_result()等
C语言操作MySQL数据库常用函数,包括mysql_init()、mysql_real_connect()、mysql_query()、mysql_store_result()、mysql_fetch_row()、mysql_num_fields()、mysql_free_result()原创 2023-04-07 01:57:03 · 1815 阅读 · 1 评论 -
C语言常用字符串函数 —— strlen(), strcpy(), strcat(), strcmp(), strspn(), strstr(), strchr()
C语言常用字符串函数 —— strlen(), strcpy(), strcat(), strcmp(), strspn(), strstr(), strchr()原创 2023-04-01 14:05:06 · 672 阅读 · 0 评论 -
C++ 策略模式的实现
C++ 策略模式的实现原创 2022-11-01 19:10:02 · 191 阅读 · 0 评论 -
C++ 模板方法模式的实现
C++ 模板方法模式的实现原创 2022-10-24 15:53:37 · 322 阅读 · 0 评论 -
C++ 智能指针
C++智能指针概述、思想、分类、特性、使用和模拟实现。原创 2022-10-17 14:30:00 · 957 阅读 · 0 评论 -
C++ shared_ptr实现
C++ shared_ptr实现原创 2022-09-27 15:15:15 · 1179 阅读 · 2 评论 -
C++ 代理模式
C++ 代理模式原创 2022-09-08 17:11:18 · 430 阅读 · 0 评论 -
C++ 十大数组排序(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序)
C++ 十大数组排序(冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序)原创 2022-08-19 15:31:04 · 1100 阅读 · 0 评论 -
C++ 线程池
C++ 线程池原创 2022-08-18 18:43:32 · 367 阅读 · 0 评论 -
C++ 五大链表排序(冒泡、插入、选择、归并、快排)
C++ 五大链表排序(冒泡、插入、选择、归并、快排)原创 2022-08-18 16:00:46 · 4891 阅读 · 1 评论 -
C/C++ struct内存对齐
C/C++ struct内存对齐原创 2022-08-15 14:03:52 · 1858 阅读 · 1 评论 -
C++ 64位系统常见数据类型及大小 (Visual Studio & GCC x64)
C++ 64位系统常见数据类型及大小 (Visual Studio && GCC x64)原创 2022-08-14 21:53:58 · 1921 阅读 · 0 评论 -
C++ 树状数组
C++ 树状数组原创 2022-08-07 21:12:06 · 678 阅读 · 0 评论 -
C++11 仿函数
C++11 仿函数原创 2022-08-07 15:56:23 · 302 阅读 · 0 评论 -
C++ 观察者模式的两种实现
C++ 观察者模式的两种实现原创 2022-08-06 13:11:09 · 259 阅读 · 0 评论 -
mmap() 的作用和使用
mmap() 的作用和使用原创 2022-08-04 23:21:38 · 406 阅读 · 0 评论 -
Linux Socket常用读写函数
Linux Socket常用读写函数原创 2022-08-04 21:49:45 · 371 阅读 · 0 评论 -
C++ 外观模式的实现
C++ 外观模式的实现(附外观+单例模式实现)原创 2022-08-02 20:16:50 · 139 阅读 · 0 评论 -
C++ 抽象工厂模式的实现
C++ 抽象工厂模式的实现原创 2022-07-30 00:46:06 · 352 阅读 · 0 评论 -
C++ 工厂方法模式的实现
C++ 工厂方法模式的实现原创 2022-07-29 22:58:46 · 311 阅读 · 0 评论 -
C++ 简单工厂模式的实现
C++ 简单工厂模式的实现原创 2022-07-29 21:28:07 · 370 阅读 · 0 评论 -
C++ 单例模式的两种实现(包括一种饿汉式和两种懒汉式)
C++ 单例模式的两种实现(包括一种饿汉式和两种懒汉式)原创 2022-07-28 14:47:21 · 1269 阅读 · 0 评论 -
C++ 归并排序的非递归实现
C++归并排序的非递归实现。原创 2022-07-28 13:28:21 · 302 阅读 · 0 评论 -
C++ 快速排序的非递归实现
C++快速排序的非递归实现。原创 2022-07-28 12:27:09 · 887 阅读 · 0 评论 -
C++ 利用 rand(1,8)实现随机生成 1-5 / 利用 rand(1,5)实现随机生成 1-8 / 实现随机数生成的转换
C++利用rand(1,8)实现随机生成1-5/利用rand(1,5)实现随机生成1-8/实现随机数生成的转换。原创 2022-07-25 23:44:57 · 678 阅读 · 0 评论 -
C++ std :: move() / 移动构造函数 / 移动赋值运算符 作用展示
作用解析:std :: move():将左值转化为临时右值,跟移动构造函数或者移动赋值配合使用可以省去数据拷贝带来的开销注意:通常移动构造函数和赋值运算符重载后面要加noexcept,有以下两个原因:1. 两者均是进行资源的移动而不是资源的拷贝构造,若程序抛出异常可能导致正在被处理的原始对象因为异常而丢失 2.在使用标准库进行元素的添加或者移除时,通常要保证强异常安全性,如果元素类型没有提供一个保证不抛异常的移动构造函数,标准模板库通常会使用拷贝构造函数......原创 2022-07-24 20:45:18 · 528 阅读 · 0 评论 -
C++ 手写自建小顶堆
以最大(小)层结点为根结点的子树保有最大(小)堆性质根结点的键值为该子树结点键值中最大(小)项。,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。而最大-最小堆集结了最大堆和最小堆的优点,这也是其名字的由来。,即最大层结点的儿子属于最小层,最小层结点的儿子属于最大层。最大堆根结点的键值是所有堆结点键值中最大者。最小堆根结点的键值是所有堆结点键值中最小者。最大-最小堆是最大层和最小层交替出现的。的元素,两个子节点下标为。3.长度为n的堆数组,从。的元素,父节点下标为。...原创 2022-07-18 14:39:58 · 326 阅读 · 0 评论 -
C++ 寻找链表中点的两种版本
C++ 寻找链表中点的两种版本原创 2022-07-17 22:30:33 · 338 阅读 · 0 评论 -
C++ 手写LFU缓存机制,O(1)时间复杂度
LFU(least frequently used (LFU) page-replacement algorithm)。即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用计数寄存器定时右移一位,形成指数衰减的平均使用次数。...原创 2022-07-17 22:02:12 · 414 阅读 · 0 评论 -
C++ 手写LFU(460. LFU 缓存)
LFU(leastfrequentlyused(LFU)page-replacementalgorithm)。即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用。1.官方题解并未考虑页面长时间留存在内存中但是不再被使用的情况,因此并不需要右移,对于做题来说完全足够;定时右移一位,形成指数衰减的平均使用次数。......原创 2022-07-16 23:29:20 · 333 阅读 · 0 评论 -
C++ 手写支持过期淘汰的LRU缓存机制
一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最少使用的页面予以淘汰。,即只有在需要访问的时候,检查节点对应的时间是否超时,超时则删除,返回-1,不访问的时候不进行删除操作。LRU是LeastRecentlyUsed的缩写,即最近最少使用,是一种常用的。,选择最近最久未使用的页面予以淘汰。本文在LRU缓存机制基础之上添加了。...原创 2022-07-15 14:45:19 · 353 阅读 · 0 评论 -
C++ 手写LRU缓存机制(力扣146. LRU 缓存)
一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最少使用的页面予以淘汰。LRU是LeastRecentlyUsed的缩写,即最近最少使用,是一种常用的。,选择最近最久未使用的页面予以淘汰。仅做笔记使用,如有不足还望指点!...原创 2022-07-15 11:19:59 · 802 阅读 · 0 评论 -
C++ 手写简单哈希散列表
仅作笔记使用,准备秋招中,时间不多,来不及解释啦!!!散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。若关键字为k,则其值存放在f(k)的存储位置原创 2022-07-13 16:05:45 · 942 阅读 · 3 评论 -
C++ terminate called after throwing an instance of ‘std::invalid_argument‘ what(): stoi
在使用C++内置的字符串转整形函数stoi()时,我们可能遇到如下报错:terminate called after throwing an instance of 'std::invalid_argument' what(): stoi这是因为我们在参数中传入了不可转化为整形的字符串,比如stoi("abc");这显然是不行的,应当检查程序,进行输入类型检查。希望我的分享能帮到你~~~...原创 2022-03-26 00:41:04 · 13201 阅读 · 2 评论 -
C++ 四类cast转换
作用:为了克服C中强制类型转化带来的风险,C++引入的四种更加安全的强制类型转换运算符(明确转换的目的,偏于程序的维护和分析)const_cast const char *p; char *p1 = const_cast<char*>(p); 去除const属性,将只读变为可读写 针对常量指针,常量引用和常量对象 static_cast(用于强制隐式转换) 内置数据类型之间的转换,int 转double,char转int 基类指针与派生类指针的转换,只能转换有继承原创 2022-03-23 13:17:29 · 1171 阅读 · 0 评论 -
C++11新特性总结
一、概述C++11新特性包括auto、decltype、constexpr、右值引用、move()函数、完美转发、移动构造、lambda匿名函数、for循环新格式、nullptr、shared_ptr、weak_ptr、unique_ptr、using定义别名、函数模板默认参数、tuple元组、非受限联合体、placement new、longlong int等。二、正文以下是我在学习过程中记录下来的笔记总结,实际代码较少,大多是知识点,比如相关的特性、定义、限制、作用和说明等等,放上一半的内容原创 2022-03-22 16:24:39 · 4708 阅读 · 0 评论 -
Linux “无法获得锁 /var/lib/dpkg/lock-frontend - open“
"无法获得锁 /var/lib/dpkg/lock-frontend - open"原创 2022-03-16 16:06:34 · 9809 阅读 · 2 评论