C++学习
文章平均质量分 94
欢迎莅临 C++博客专栏!在此深入钻研 C++语言的深邃内涵,自基础语法直至高级编程技法,共享实用的项目实例以及优化的经验体悟。不管您是初涉此领域的新手,还是技艺娴熟的高手,皆可于此处获取能提升 C++编程水平的珍贵资源。
透明小伞
如果知道那是我们最后一次见面, 那么我一定会多看你几眼。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++_深入理解继承与虚继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,而继承是类设计层次的复用。比如说一个人,他具有身高,年龄,姓名等个人信息,然后利用这些信息我们可以定义一个Person类。而当我们想定义一个学生Student类时,学生首先肯定是一个人,所以这时候我们可以复用Person类。但是学生除了具备一个人的基本信息外,原创 2024-11-25 18:05:06 · 1164 阅读 · 0 评论 -
C++_数据结构_详解二叉搜索树
O。原创 2024-12-21 22:35:22 · 1217 阅读 · 0 评论 -
C++_数据结构_哈希表(hash)实现
当key是string/Date等类型时,key不能取模,那么我们需要给HashTable增加一个仿函数,这个仿函数支持把key转换成一个可以取模的整形,如果key可以转换为整形并且不容易冲突,那么这个仿函数就用默认参数即可,如果这个Key不能转换为整形,我们就需要自已实现一个仿函数传给这个参数,实现这个仿函数的要求就是尽量key的每值都参与到计算中,让不同的key转换出的整形值不同。在理想状态中,去找到符合的哈希函数是不可能的,哈希冲突是必然发生的,所以我们要尽可能减少设计的哈希函数的哈希冲突。原创 2025-05-18 22:03:08 · 1214 阅读 · 0 评论 -
C++_数据结构_详解红黑树
大家应该都学过平衡二叉树(AVLTree),了解到AVL树的性质,其实平衡二叉树最大的作用就是查找,AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。AVL树的效率就是高在这个地方。如果在AVL树中插入或删除节点后,使得高度之差大于1。此时,AVL树的平衡状态就被破坏,它就不再是一棵二叉树;为了让它重新维持在一个平衡状态,就需要对其进行旋转处理, 那么创建一颗平衡二叉树的成本其实不小.原创 2025-04-25 11:42:41 · 1531 阅读 · 0 评论 -
C++_unordered_map和unordered_set的使用
1. unordered_set系列的使用1.1unordered_set和unordered_multiset参考文档。原创 2025-04-27 22:36:44 · 1101 阅读 · 0 评论 -
C++_数据结构_AVL树
因为10 < b子树的值 < 15,将b变成10的右⼦树,10变成15的左子树,15变成这棵树新的根,符合搜索树的规则,控制了平衡,同时这棵的高度恢复到了插入之前的h+2,符合旋转原则。因为5 < b子树的值 < 10,将b变成10的左子树,10变成5的右子树,5变成这棵树新的根,符合搜索树的规则,控制了平衡,同时这棵的高度恢复到了插入之前的h+2,符合旋转原则。对不平衡子树旋转,旋转后本质调平衡的同时,本质降低了子树的高度,不会再影响上一层,所以插入结束。1->2 或者 -1->-2。原创 2025-02-06 16:52:39 · 1108 阅读 · 0 评论 -
C++_数据结构_map与set
map的声明如下,Key就是map底层关键字的类型,T是map底层value的类型,set默认要求Key支持小于比较,如果不支持或者需要的话可以自行实现仿函数传给第二个模版参数,map底层存储数据的内存是从空间配置器申请的。一般情况下,我们都不需要传后两个模版参数。map底层是用红黑树实现,增删查改效率是OlogN,迭代器遍历是走的中序,所以是按key有序顺序遍历的。原创 2025-02-04 15:29:35 · 759 阅读 · 0 评论 -
C++_详解多态
多态是一个继承关系下的类对象,去调用同一个函数,产生不同行为。比如student继承person对象。person是全价买票,student是优惠买票。原创 2024-12-02 22:46:06 · 909 阅读 · 0 评论 -
C++_STL之priority_queue(优先级队列)
priority_queue文档介绍优先级队列的实现的关键取决于数据结构的堆,如果忘记了,就回去看看吧【数据结构】详解堆1.优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。2. 此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。3. 优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从特定容器的“尾部”弹出,其称为优先队列的顶部。原创 2024-11-15 19:58:40 · 950 阅读 · 0 评论 -
C++_模板进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。原创 2024-11-15 19:57:35 · 765 阅读 · 0 评论 -
C++_STL之Stack,Queue的使用及其模拟实现
stack的文档介绍深入了解栈在数据结构中有讲解深入了解栈这里作简要讲解。queue的文档介绍在数据结构中有讲解最小栈这里作简要讲解。1. 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列。3. 底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。原创 2024-10-17 18:10:28 · 838 阅读 · 0 评论 -
C++_STL之list的使用及其实现
cpp官方文档:kw=listlist类似我们之前学过的链表(单链表),这里的list为双向链表;原创 2024-10-13 21:51:29 · 771 阅读 · 0 评论 -
C++_STL之vector的使用及实现
1.2vector的使用(constructor)构造函数声明接口说明vector()(重点)无参构造构造并初始化n个val(重点)拷贝构造使用迭代器进行初始化构造//vectoe//长度为4,值为100的数组//拷贝构造//与s3类似//迭代器it!// const对象使用const迭代器进行遍历打印while (it!it++;原创 2024-09-30 11:41:37 · 876 阅读 · 0 评论 -
C++_实现日期类
/ 日期-日期 返回天数*this = A;A = *this;*x = *y;*y = tmp;int _month;int _day;原创 2024-09-26 21:05:06 · 873 阅读 · 0 评论 -
C/C++—有关日期类的OJ题
✨✨ 欢迎大家来到小伞的大讲堂✨✨🎈🎈养成好习惯,先赞后看哦~🎈🎈。原创 2024-09-26 20:34:52 · 586 阅读 · 0 评论 -
C++_认识STL及使用及实现第一个容器string
不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。原创 2024-09-25 21:33:58 · 940 阅读 · 0 评论 -
C++模板初阶
class 类模板名// 类内成员定义如下列栈的类模板// 类模版public :_size = 0;// 模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误// 扩容++_size;原创 2024-09-18 21:57:26 · 958 阅读 · 0 评论 -
C++_内存管理
对于上述操作,C语言的动态内存存储也都可以实现的,那为什么祖师爷还要创建new和delete呢?// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数,有时候我们会忘记调用free函数,导致空间的浪费class sui{public::_sui(sui)~sui() {private:int _sui;delete p2;// 内置类型是几乎是一样的。原创 2024-09-10 08:43:34 · 1047 阅读 · 0 评论 -
C++万字解析类和对象
/与结构体定义格式类似class Date//类域 Date类名//可以存放变量、函数public://公共域_day = day;private://私有域// 为了区分成员变量,⼀般习惯上成员变量// 会加⼀个特殊标识,如_ 或者 m开头int _year;int _month;int _day;//使用(.)操作符d.print();原创 2024-09-08 20:21:18 · 1728 阅读 · 0 评论 -
const、inline、nullptr的使用
inline(内敛函数)与宏函数类似。原创 2024-09-08 20:17:33 · 888 阅读 · 0 评论 -
C++入门基础
文章目录1.缺省参数2.函数重载2.1重载条件:1.参数类型不同2.参数个数不同3.参数类型顺序不同 2.2不做重载条件情况:1.返回值相同时2.当全缺省遇见无参数3.引用3.1引用特性:3.2引用的使用C++支持在同一作用域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C++函数调用就表现出了多态行为,使用更灵活。C语言是不支持同一作用域中出现同名函数的。 cpp会根据函数中参数类型进行函数的匹配2.参数个数不同cpp会根据函数中参数类个数进行函数的匹配原创 2024-09-08 20:16:43 · 1141 阅读 · 0 评论 -
C++入门基础
C++语言之父”:本贾尼·斯特劳斯特卢普。原创 2024-09-08 20:15:27 · 2152 阅读 · 0 评论
分享