C++
文章平均质量分 94
对c++的浅薄认识
宗介@bit
积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
C++实现位图与布隆过滤器
之前介绍了哈希表,本文要介绍另一种基于哈希思想的数据结构——位图。位图也是基于哈希思想将数据进行映射,位图在处理一些海量数据问题方面有着高效,占用内存资源较少等诸多优点。布隆过滤器本质也是位图结构,在一些场景下可以高效的过滤筛选出一些数据,是一种极其有用的工具。原创 2023-06-30 14:07:45 · 262 阅读 · 0 评论 -
C++实现哈希表
本文主要是对哈希表这种数据结构进行介绍。含义是根据存储的值和存储的位置建立映射关系从而快速检索查找存储的数据,哈希表是一种非常高效的数据结构。本文会用C++介绍哈希表的相关实现。原创 2023-05-28 22:22:58 · 2688 阅读 · 1 评论 -
红黑树封装set和map(插入部分)
之前我们实现了红黑树的插入的部分,本文主要介绍将之前实现的红黑树封装成map和set。我们是以学习的角度来封装容器,不用非要把库中容器所有功能都实现出来。我们主要目的是学习库中代码设计技巧和模板复用的思想。原创 2023-05-25 00:04:29 · 535 阅读 · 0 评论 -
C++实现AVL树和红黑树(插入部分)
之前介绍了二叉搜索树,本文主要是对AVL树和红黑树进行介绍。普通的二叉搜索树插入结点之后可能会失去平衡,退化成单链表形式造成查找效率低下,因此引入了二叉搜索树和红黑树,在插入节点后会进行一定的处理维持树的平衡性,提高查找效率。本文主要介绍的是插入节点后处理,对删除节点没有做介绍。原创 2023-05-11 17:20:41 · 412 阅读 · 4 评论 -
C++实现二叉搜索树
二叉搜索树是一种特别有用的数据结构,AVL树,红黑树的原型都是二叉搜索树。本文将会对二叉搜索树进行初步介绍,从而入门二叉搜索树,为以后深入学习AVL树和红黑树打下基础。原创 2023-04-30 17:25:40 · 1173 阅读 · 1 评论 -
C++多态总结
本文将会对多态进行讲解,多态是面向对象3大特性之一,多态在继承的基础上增强了代码的复用性和灵活性,这也是C++中特别重要的一个知识点。多态可以分为动态多态和静态多态的,这里是主要对动态多态进行讲解。原创 2023-04-07 23:58:01 · 374 阅读 · 0 评论 -
C++继承相关总结
本文主要是对C++三大特性之一的继承进行讲解。将会围绕继承的概念,继承的语法,继承方式,多继承中的菱形继承以及产生的问题进行介绍。原创 2023-03-30 17:17:18 · 771 阅读 · 0 评论 -
模拟实现STL容器之stack priority_queue以及对deque的介绍
本文主将会对栈进行模拟实现,这里实现的侧重点在于C++语言特性,而不是数据结构方面。栈和队列的具体实现早在之前数据结构相关的博客中实现了。这里就不再对队列进行实现了,这里主要以栈为例子介绍一下C++中的适配器,之后会对优先级队列进行模拟实现,同时也会对双端队列和仿函数进行介绍。原创 2023-03-24 20:15:22 · 275 阅读 · 0 评论 -
模拟实现STL容器之list
本文主要介绍对list模拟实现,list模拟实现最精华的地方在于迭代器的实现。通过手动实现list让我们进一步更加深刻认识到模板的作用。本文对数据结构方面的实现可能不多,这里主要围绕C++语法特性进行介绍。原创 2023-03-24 10:45:05 · 168 阅读 · 0 评论 -
模拟实现STL容器之vector
本文主要对vector容器的实现进行讲解,vector我们在使用的感觉它有点像数组,它也是个类模板,可以根据需要实例化出不同的模板类用于存储数据。它的底层实现也是像之前实现的顺序表。本文主要参考库中的vector实现,通过模拟实现让我们对容器理解更加深刻。原创 2023-03-15 18:27:33 · 745 阅读 · 0 评论 -
模拟实现STL容器之string
本文主要介绍对C++中的string容器的简单模拟实现,在实现的过程中主要参考SGI版本STL库,模拟实现之后我们将会对string加深印象理解更为深刻。这里为了和库中保持一致还加了一个成员变量 npos,这个npos一定要设置成共有的,不然在类外部使用的时候就访问不了。这里简单提一下被const修饰的静态整形成员变量被允许给缺省值,但是为了统一这里还是在类外初始化。为了避免和类中的string起冲突,我们将自己实现的stirng封在命令空间中。原创 2023-03-14 23:31:21 · 158 阅读 · 0 评论 -
初识STL以及熟悉string常用接口
本文主要是对初步介绍一下C++中的STL库,同时也会对STL中的string类使用进行介绍,主要会谈谈string类的常用接口。原创 2023-02-28 18:31:54 · 315 阅读 · 0 评论 -
初识C++模板
本文主要围c++中的模板进行介绍。模板是c++中一个比较重要的概念,由于模板的存在,c++才能进行泛型编程。模板的存在大大增加了代码的复用性,提升了实际开发效率。原创 2023-02-25 21:26:37 · 259 阅读 · 0 评论 -
C++中的内存管理
C++中的内存空间划分和C语言是很像的,基本上区别不大。但是因C++中,引入了类和对象的概念,涉及到内存空间资源申请和释放的时候,C++提供了另一套内存管理的函数,不再是像C语言那样使用malloc free等相关函数了。本文就围绕C++的内存管理进行简单介绍。原创 2023-02-24 21:43:36 · 304 阅读 · 0 评论 -
C++实现日期类
之前介绍了C++面向对象的初阶知识,为了更理解相关知识,加深印象,我们可以先试着写个日期类来巩固所学原创 2023-02-24 16:27:55 · 1207 阅读 · 0 评论 -
C++面向对象(下)
本文是主要是将之前关于C++面向对象中的一些没有归纳到的零星知识点进行补充,同时对C++中的面向对象简单收个尾。原创 2023-02-20 18:12:23 · 376 阅读 · 0 评论 -
C++面向对象(中)
本文主要介绍C++中的六个天选之子,也就是类中的6个默认成员函数。它们分别:构造函数 析构函数 拷贝构造函数 赋值运算符重载 取地址及const取地址操作符重载。本文主要围绕前4个进行介绍,后面两个基本上不太重要也不太需要我们自己去实现。原创 2023-02-19 16:29:03 · 332 阅读 · 0 评论 -
C++面向对象(上)
本文将对C++面向对象进行初步介绍,引入类和对象的概念。围绕类和对象介绍一些基础知识,为以后深入学习C++打基础原创 2023-02-19 11:40:57 · 359 阅读 · 0 评论 -
从C语言向C++过渡
C++被成为带类的C,本文由C语言向C++过度,将会初步介绍C++中为补充C语言语法的不足所产生的特有的功能。为以后深入学习C++打基础。原创 2023-02-10 13:57:53 · 804 阅读 · 0 评论