
C++
文章平均质量分 97
愿天垂怜
先敬罗衣后敬人,先敬皮囊再敬魂,不信你看杯中酒,杯杯先敬有钱人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++】unordered_map和unordered_set的使用
1. unordered_set的声明如下,Key就是unordered_set底层关键字的类型。2.unordered_set默认要求Key支持转换为整形,如果不支持或者想按自己的需求走可以自行实现支持将Key转成整形的仿函数传给第二个模板参数。3.unordered_set默认要求Key支持比较相等,如果不支持或者想按自己的需求走可以自行实现支持将Key比较相等的仿函数传给第三个模板参数。4. unordered_set底层存储数据的内存是从空间配置器申请的,如果需要可以。原创 2024-11-08 14:25:21 · 754 阅读 · 0 评论 -
【C++】智能指针的使用和原理
智能指针类除了满足RAII的设计思路,还要方便资源的访问,所以智能指针类还会想迭代器类一样,重载operator*/operator->/operator[]等运算符,方便访问资源。原创 2024-12-03 14:53:13 · 1431 阅读 · 4 评论 -
【C++】异常
异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理,异常使得我们能够将问题的检测与解决问题的过程分开,程序的一部分负责检测问题的出现,然后解决问题的任务传递给程序的另一部分,检测环节无须知道问题的处理模块的所有细节。原创 2024-11-29 23:06:22 · 1049 阅读 · 2 评论 -
【C++】C++11引入的新特性(2)
C++11作为C++语言的一个重要版本,引入了许多新特性和改进。1. C++11以后,进一步对类型进行了划分,右值被划分纯右值(pure value,简称prvalue)和将亡值(expiring value,简称xvalue)。原创 2024-11-28 00:25:53 · 1326 阅读 · 1 评论 -
【C++】C++11引入的新特性(1)
C++11 是 C++ 的第二个主要版本,并且是从 C++98 起的最重要更新。它引入了大量更改,标准化了既有实践,并改进了对C++程序员可用的抽象。在它最终由ISO在2011年 8月12日采纳前,人们曾使用名称“C++0x”,因为它曾被期待在 2010 年之前发布。C++03 与 C++11 期间花了 8 年时间,故而这是迄今为止最长的版本间隔。从那时起,C++ 有规律地每3年更新一次。原创 2024-11-23 16:29:35 · 1393 阅读 · 4 评论 -
【C++】哈希表实现
哈希(hash)又称散列,是一种组织数据的方式。从译名来看,有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建立一个映射关系,查找时通过这个哈希函数计算出Key存储的位置,进行快速查找。原创 2024-11-18 11:46:31 · 1330 阅读 · 5 评论 -
【C++】封装红黑树实现mymap和myset
我们上次给大家讲解了红黑树,我们今天就利用红黑树来封装一下map和set,再来模拟实现一下吧。建议大家先将红黑树学好,它是map和set的底层。如果大家准备好了,那就接着往下看吧~原创 2024-11-07 14:50:35 · 1413 阅读 · 1 评论 -
【C++】红黑树实现
红黑树是一棵二叉搜索树,他的每个结点增加一个存储位来表示结点的颜色,可以是红色或者黑色。通过对任何一条从根到叶子的路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是接近平衡的。转载 2024-11-02 17:29:37 · 1361 阅读 · 0 评论 -
【C++】AVL树实现
AVL树是最先发明的自平衡二叉查找树,AVL是一颗空树,或者具备下列性质的二叉搜索树:它的左右子树都是AVL树,且左右子树的高度差的绝对值不超过1。AVL树是一颗高度平衡搜索二叉树,通过控制高度差去控制平衡原创 2024-10-29 16:43:33 · 1339 阅读 · 0 评论 -
【C++】map和set的使用
我们之前给大家讲解过搜索二叉树的内容,我们今天给大家讲解map和set的使用。map和set的底层容器是红黑树,也是搜索二叉树,如果大家准备好了,那就接着往下看吧~原创 2024-10-25 14:28:01 · 1403 阅读 · 3 评论 -
【C++】二叉搜索树
二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,在C++中得到了广泛的应用。这种数据结构遵循特定的性质,使得查找、插入和删除操作更加高效。原创 2024-10-19 20:00:57 · 1012 阅读 · 0 评论 -
【C++】面向对象之多态
多态(polymorphism)的概念:通俗来说,就是多种形态。多态分为编译时多态(静态多态)和运行时多态(动态多态),这里我们重点讲运行时多态。编译时多态(静态多态)主要就是我们前面讲的函数重载和函数模板,他们传不同类型的参数就可以调用不同的函数,通过参数不同达到多种形态,之所以叫编译时多态,是因为他们实参传给形参的参数匹配是在编译时完成的,我们把编译时一般归为静态,运行时归为动态。原创 2024-10-16 23:09:05 · 1407 阅读 · 0 评论 -
【C++】面向对象之继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。原创 2024-10-09 22:26:13 · 1389 阅读 · 1 评论 -
【C++】模板进阶
继之前我们讲解了的模板初阶,进而我们继续学习模板的进阶部分,如果忘记了的话可以看我之前的博客及时复习,大家一起来学习吧~原创 2024-09-24 21:15:27 · 1585 阅读 · 5 评论 -
【C++】_stack和_queue容器适配器、_deque
stack和queue是依靠别的容器实现的,我们称之为容器适配器,我们将详细介绍容器适配器的细节,以及为什么选择deque作为stack和queue的底层容器。如果你也想了解,就一起来学习吧~原创 2024-09-13 11:52:48 · 1652 阅读 · 4 评论 -
【C++】_list常用方法解析及模拟实现
学习了string和vector,我们现在来学习list。它和string与vector不一样的地方就是它在物理上不是连续的,所以迭代器部分是要更加复杂的。原创 2024-09-09 12:19:26 · 1215 阅读 · 1 评论 -
【C++】_vector定义、_vector常用方法解析
学习完了string类,对于vector的学习就显得简单多了。他们的本质都是物理数组,很多的操作也是非常类似的~原创 2024-09-02 14:06:19 · 3088 阅读 · 7 评论 -
【C++】_string类字符串万字详细解析
我们今天简单给大家讲解一下C++标准库中一个非常重要的组成部分——string字符串。如果大家准备好了,那就一起来看看吧~原创 2024-08-24 20:22:46 · 2442 阅读 · 3 评论 -
【C++】STL简介
本节介绍了C++中STL的相关知识,在后面将会逐一讲解它的组件和应用。希望大家能够认真学习,打好基础,迎接接下来的挑战,期待大家继续捧场~原创 2024-08-18 21:38:59 · 1918 阅读 · 2 评论 -
【C++】模板初阶
模板是C++中新的知识点,在C语言是没有模板的概念的。对于这个全新的知识点,希望大家认真学习,深刻理解~原创 2024-08-17 15:00:46 · 925 阅读 · 4 评论 -
【C++】动态内存分配
C语言为 动态内存管理提供了 四个函数malloc、calloc、realloc、free。而C++,由于增添了许多特性,即使依旧可以延用C语言的动态管理,但是总有无法处理的地方 所以 C++ 又提供了两个新的动态管理的关键词 new 和 delete原创 2024-08-15 14:45:19 · 1293 阅读 · 0 评论 -
【C++】深入理解类和对象(3)
类与对象的终章终于来了,前面最难的部分已经过去了,剩下的内容都比较简单,大家快来学习吧~原创 2024-08-13 19:40:19 · 1491 阅读 · 7 评论 -
【C++】深入理解类和对象(2)
接着上一章节,我们继续学习C++中类和对象的相关知识。这一章节非常重要,大家一定要先学习完上一章节的内容,再认真学习这一章节。原创 2024-08-10 17:43:50 · 993 阅读 · 3 评论 -
【C++】深入理解类和对象(1)
从这一篇章开始,我们不如C++学习中的第一大关—类和对象。这里的内容多而杂,所以我们分为三节进行逐步分析。原创 2024-08-05 22:28:20 · 1161 阅读 · 3 评论 -
【C++】入门基础知识
结束了初阶数据结构的学习,从这一篇章开始,我们开始学习C++的相关知识。在此之前,我们要先了解C++的历史发展和并且学习基础语法。原创 2024-08-02 19:40:03 · 2491 阅读 · 1 评论