
c++
文章平均质量分 92
玛丽亚后
大三老登,记录平时的所学所感
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
秒懂C++之类型转换
自定义类型之间->自定义类型之间,本质借助构造,隐式类型转换 如:initializer_list和容器。这个还是很不错的,可以有效避免父类指针指向父类对象时转换为子类指针的越界访问问题~学完C++后我们可以见到以下三种场景。我们再来根据使用场景来划分~感觉很少见到,了解即可~就是强制类型转换的标识~原创 2024-09-18 23:27:52 · 810 阅读 · 0 评论 -
秒懂C++之特殊类设计
多个单例类有初始化启动依赖关系,饿汉无法控制。假设:A和B两个单例,假设要求A先初始化,B再初始化,饿汉无法保证。想让一些数据,当前程序只有一份,那就可以把这些数据放到这个类里面,再把这个类设计成单例,这个数据就只有一份了。懒汉优点:第一次使用实例对象时,创建对象。多个单例实例启动顺序自由控。如果单例对象构造十分耗时或者占用很多资源,比如加载插件啊,初始化网络连接啊,读取。文件啊等等,而有可能该对象程序运行时不会用到,那么也要在程序一开始就进行初始化,就会导致程序启动时非常的缓慢。原创 2024-09-18 22:28:17 · 671 阅读 · 0 评论 -
秒懂C++之智能指针
为了解决抛异常所造成的内存泄漏等问题~秒懂C++之异常-CSDN博客~我们来学习智能指针的相关用法~智能指针的使用及原理RAIIRAII)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。借此,我们实际上把管理一份资源的责任托管给了一个对象。int div()原创 2024-09-17 16:40:48 · 1194 阅读 · 0 评论 -
秒懂C++之异常
传统的错误处理机制:1.终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。2.返回错误码,缺陷:需要程序员自己去查找对应的错误。如系统的很多库的接口函数都是通过把错误码放到errno中,表示错误。原创 2024-09-11 23:28:31 · 1012 阅读 · 0 评论 -
秒懂C++之C11新特性
介绍了C11出现的一些新的特性原创 2024-09-10 00:50:33 · 1614 阅读 · 0 评论 -
秒懂C++之哈希的应用
增加和查询元素的时间复杂度为:O(K), (K为哈希函数的个数,一般比较小,与数据量大小无关哈希函数相互之间没有关系,方便硬件并行运算布隆过滤器不需要存储元素本身,在某些对保密要求比较严格的场合有很大优势在能够承受一定的误判时,布隆过滤器比其他数据结构有这很大的空间优势数据量很大时,布隆过滤器可以表示全集,其他数据结构不能使用同一组散列函数的布隆过滤器可以进行交、并、差运算。原创 2024-09-03 23:39:00 · 1125 阅读 · 0 评论 -
秒懂C++之哈希
这种除留余数法虽然可以解决空间浪费的问题,但是却有不同的值映射到相同位置的风险~这种扩容方式的麻烦之处就在于遍历旧表插入新表时还得按下面插入的内容再走一次~这样遍历旧表插入新表的时候就可以用成员函数insert进行复用。这里我们不直接用容器list的原因是方便自己写一个迭代器。最后我们再来写一下关于字符串取模的类模板~当遇到删除的标记,查找则继续往下遍历~删除我们得考虑在这之后节点之间的链接~下面的状态标记帮我们解决了问题~插入是解决了,那么删除的问题呢?原创 2024-09-01 19:54:37 · 1153 阅读 · 1 评论 -
秒懂C++之set、map的封装
这就有点奇怪了,红黑树设置kv模型第一个参数为pair就行了,为什么这里有两个参数?前我们还面临一个问题,key是不支持修改的~而我们现在只能通过降低传参权限去限制~我们修改获取_data数据的方式就行了~原创 2024-08-24 22:45:17 · 1089 阅读 · 0 评论 -
秒懂C++之红黑树
秒懂C++之AVL树-CSDN博客。原创 2024-08-23 21:08:19 · 753 阅读 · 0 评论 -
秒懂C++之AVL树
最后我们来总结一下关于旋转的规律~插入节点后如果遇到这种折线型那就从下半部位看起,然后再去判断上半部位,而最终的效果图都会呈现出向上箭头~通过以上例子我们得出了平衡因子的变化情况,以及变化后对祖先节点的影响情况~下面我们来把这些示例转化为代码进行实现~写法二是利于后序的思路先从叶子节点开始判断并且返回其高度,这样做的好处就是不用重复计算高度差,但是写法难理解~_parent存在的意义就是为了后续插入节点时可以去观察其祖先节点的变化情况,看是否会连环出现变化~这是抽象图的理解,我们再来拿具体例子进行说明~原创 2024-08-21 23:09:48 · 502 阅读 · 0 评论 -
秒懂C++之set与map使用
目录一. setset的模板参数列表 set接口的使用二. mapmap的模板参数列表map接口的使用三. OJ题138. 随机链表的复制题目解析:代码:349. 两个数组的交集题目解析:法一:法二:692. 前K个高频单词题目解析:法一:法二: 138. 随机链表的复制 - 力扣(LeetCode)349. 两个数组的交集 - 力扣(LeetCode)这里我们也可以用set去解决会很轻松~本质就是利用ser去重+排序~如果在s1中找到e,那就说明该数为交集之一。这个方法能够解决大部分交差集原创 2024-08-18 23:09:32 · 870 阅读 · 0 评论 -
二叉树OJ题
例如我们cur位于节点4的时候是无法用后继指针指向节点6的,因为还没有获取到节点,但是如果我们到达节点6后prev就会到达节点4,而这时候反而可以建立4->6的后继指针联系~只需要看上一次访问的节点是否为右子树的根,如果是则代表已经访问过了,那么就可以访问当前的节点。如果不是,则说明右子树还没有访问,则暂且不访问当前节点,转而访问其右子树~我们通过让cur的前驱指针指向prev,再让prev更新为cur的方式可以把所有节点的前驱指针都布置完毕,那么后继指向要怎么做呢?原创 2024-08-15 16:22:48 · 1144 阅读 · 13 评论 -
秒懂C++之二叉搜索树
学习二叉搜索树是为了后面的map与set作铺垫有助于更好理解其特性~原创 2024-08-13 01:10:24 · 823 阅读 · 0 评论 -
秒懂C++之多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。那么在继承中要。原创 2024-08-11 17:04:55 · 1575 阅读 · 13 评论 -
秒懂C++之继承
机制是面向对象程序设计。原创 2024-08-09 17:28:20 · 855 阅读 · 0 评论 -
秒懂C++之deque及反向迭代器
秒懂C++之List-CSDN博客秒懂C++之vector(下)-CSDN博客本文后面关于反向迭代器的操作会涉及到前面的文章~原创 2024-08-07 07:59:10 · 1151 阅读 · 7 评论 -
秒懂C++之stack、queue、堆
秒懂C++之vector(下)-CSDN博客秒懂C++之string类(下)-CSDN博客本篇文章主要以算法题为主~原创 2024-08-07 07:49:27 · 1137 阅读 · 10 评论 -
秒懂C++之List
很久没写这么有难度的文章了,被虐爽了,希望我的见解能给到大家一些帮助原创 2024-08-05 03:30:19 · 874 阅读 · 0 评论 -
秒懂C++之vector(下)
建议大家看完我之前关于string容器模拟实现的文章,这样在这里看vector容器会更加得心应手~秒懂C++之string类(下)-CSDN博客。原创 2024-08-03 02:06:36 · 777 阅读 · 1 评论 -
秒懂C++之vector(上)
vector本质就是一个顺序表int main()func(v1);func(v2);func(v3);func(v4);return 0;相信大家在学完string类后很快就能上手vector。原创 2024-07-30 00:48:08 · 824 阅读 · 2 评论 -
秒懂C++之string类(下)
万字+详细描述string类的种种细节原创 2024-07-27 02:47:52 · 1767 阅读 · 13 评论 -
秒懂C++之string类(上)
在vs编译器中reserve的扩容是按1.5倍率慢慢扩容的,而就算我们用reserve提前扩容最后也只会比预估的还大。at其实和【】用法基本一样,唯一不同的是它们对越界访问的处理不一样,【】直接报错,而at是抛异常。因为在func函数中的形参被const所修饰,这意味着*it无法被修改。后面没啥用,本来遍历访问就得靠it本身遍历,加了个const直接废了。这是一些基本用法,但我们一般不用append,还有一个更简单的~当我们尝试缩容的时候发现在vs编译器下还是无法成功,从第一位开始读取,往后读5位。原创 2024-07-23 19:25:45 · 1168 阅读 · 0 评论 -
秒懂C++之内存管理+模板
讲述了内存管理(内存分布,new,delete)以及模板原理(泛型模拟,函数模板,类模板)原创 2024-07-21 23:58:19 · 916 阅读 · 0 评论 -
秒懂C++之类与对象(下)
本文讲述了static静态成员变量与函数在类中的运用,explict关键字的用法,友元知识点,内部类知识点,以及编译器的优化原创 2024-07-20 01:51:16 · 918 阅读 · 0 评论 -
秒懂C++之赋值运算符重载
本文讲述了运算符重载的种种细节以及如何实现日期类的相关功能原创 2024-07-18 05:38:48 · 1210 阅读 · 0 评论 -
秒懂c++之拷贝构造与运算符重载(略讲)
本文主要给大家讲解有关于拷贝构造函数的重点以及给后面运算符重载的知识开个小头,这两个都是很重要的内容,并且它们使用的情况并不明显,常常出现在细微末节的地方。原创 2024-07-16 17:03:36 · 993 阅读 · 0 评论 -
秒懂C++之this指针、构造、析构
本篇文章全程高能,不仅讲解了this指针的隐藏面目还为大家详细讲解了构造函数与析构函数真正的实现内核,相信大家一定会有所收获的~原创 2024-05-22 15:46:03 · 1065 阅读 · 15 评论 -
C++一一类与对象
本文讲的是c++中的类与对象,不同于c语言的结构体,类与对象会在我们后面的学习中更高频地出现。在C++中更喜欢用class去代替struct,其实二者并无太大差别。原创 2024-05-19 22:58:22 · 1007 阅读 · 3 评论 -
C++———内联、auto、指针空值
本文介绍了在c++中关于内联函数、关键字auto、指针空值的用法,希望能够帮助到大家~原创 2024-05-17 21:58:07 · 574 阅读 · 1 评论 -
C++——引用
本篇文章主要讲述在C++中关于引用的一些概念及其用法,还有引用与指针的些许区别,希望能够帮助大家理解~原创 2024-05-17 20:08:28 · 1074 阅读 · 10 评论 -
C++——缺省参数与重载函数
本篇文章主要讲述c++中有关于缺少参数与函数重载的相关概念与实例,以下是本人拙见,如有错误敬请指教。原创 2024-05-13 12:09:52 · 842 阅读 · 16 评论 -
C++——命名空间
关于c++命名空间的一些知识点原创 2024-05-10 20:41:35 · 1141 阅读 · 14 评论 -
新的开始(一夜鱼)&&(玛丽亚后)&&(c、c++)
关于学习c语言/c++的学习日志原创 2023-06-10 14:14:51 · 287 阅读 · 2 评论