c++
文章平均质量分 88
小陈的进阶之路
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
封装红黑树实现map和set
用模板函数实现两个不同的函数一份模板 -> 编译器实例化出key的rb_tree和pair<k,v>的rb_tree。原创 2025-01-08 14:33:35 · 248 阅读 · 0 评论 -
红黑树基础知识及代码
红⿊树是⼀棵⼆叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约束,红⿊树确保没有⼀条路径会⽐其他路径⻓出2倍,因⽽是接近平衡的。原创 2024-11-29 22:59:07 · 979 阅读 · 0 评论 -
c++(map和set)
• set的声明如下,T就是set底层关键字的类型• set默认要求T⽀持⼩于⽐较,如果不⽀持或者想按⾃⼰的需求⾛可以⾃⾏实现仿函数传给第⼆个模版参数• set底层存储数据的内存是从空间配置器申请的,如果需要可以⾃⼰实现内存池,传给第三个参数。• ⼀般情况下,我们都不需要传后两个模版参数。• set底层是⽤红⿊树实现,增删查效率是 ,迭代器遍历是⾛的搜索树的中序,所以是有序的。O(logN)原创 2024-10-19 14:58:56 · 668 阅读 · 0 评论 -
c++(继承)
目录继承的概念 继承⽗类成员访问⽅式的变化继承类模板按需实例化问题宏替换 ⽗类和⼦类对象赋值兼容转换---切割继承中的作⽤域隐藏规则:编辑 继承---题目理解编辑⼦类的默认成员函数1.构造函数编辑2.拷贝构造 3.赋值重载 4.析构函数 实现⼀个不能被继承的类继承与友元编辑继承与静态成员多继承及其菱形继承问题1.继承模型编辑2.虚继承(解决菱形继承问题)----解决数据二义性3.多继承中指针偏移问题继承和组合1.父类的private在子类中不可访问,但可以间接访问需要标明类域, 实例化原创 2024-09-13 14:03:10 · 896 阅读 · 0 评论 -
c++(list)
双向:list/map/set(二叉树结构)... ++/--随机:vector/string/deque(连续的物理空间).. ++/--/+/-lt.sort(greater());find(input迭代器--只读--可传任意类型迭代器)链表合并(前提:两个链表有序)取小尾插。一个链表的节点转移到该链表某一位置。底层结构----决定使用哪些算法。sort(随机迭代器)链表合并(merge)原创 2024-09-03 13:26:10 · 954 阅读 · 0 评论 -
c++初阶
namespace num //命名空间域int main()//访问头文件中rand()的地址//输出命名空间域rand的值return 0;命名空间只能用“域名::变量名”的格式访问---------若无命名空间查找符,则查找顺序:a.局部域 b.全局域。原创 2024-07-09 12:00:20 · 472 阅读 · 0 评论 -
c++(内存管理)
调用构造函数和析构函数抛异常用try/catch。原创 2024-07-24 19:29:30 · 1187 阅读 · 0 评论 -
c++(string)
解决方案:a.内联(inline)/静态(static)只在当前文件呈现。查找在str1中的str2,找到则返回str2在str1中的指针。原创 2024-07-26 11:04:03 · 694 阅读 · 0 评论 -
c++(模版)
2. 对于非模板函数和同名函数模板,如果其他条件都相同,在调动时会优先调用非模板函数而不会从该模板产生出一个实例。1. 一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这个非模板函数。显式实例化:在函数名后的中指定模板参数的实际类型 Add(a1, d1)隐式实例化:让编译器根据实参推演模板参数的实际类型 Add(a1, (int)d1)在编译器编译阶段,对于模板函数的使用,编译器需要根据传入的实参类型来推演生成对应。class 类模板名。原创 2024-07-28 10:46:52 · 478 阅读 · 0 评论 -
c++(vector)
约等于顺序表。原创 2024-07-31 14:48:04 · 512 阅读 · 0 评论
分享