
C++
文章平均质量分 97
beyond->myself
菜鸡一枚,记录学习!
展开
-
【C++11】新的类功能、可变参数模板
新的类功能和可变参数模板原创 2023-04-27 19:48:17 · 555 阅读 · 6 评论 -
【C++】异常
异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。原创 2023-05-05 19:54:44 · 878 阅读 · 45 评论 -
【C++11】包装器
C++11——包装器原创 2023-05-03 20:58:53 · 1026 阅读 · 32 评论 -
【C++11】lambda表达式
lambda表达式原创 2023-04-30 22:50:28 · 849 阅读 · 32 评论 -
【C++11】右值引用和移动语义
我们知道C++中引入了引用,但是这个引用一般指的是左值引用。C++11中引入了右值引用,我们来学习一下原创 2023-04-25 17:28:01 · 917 阅读 · 41 评论 -
【C++11】简介、列表初始化、声明、范围for、STL中的一些变化
C++11的简介、列表初始化、声明、范围for、STL中的一些变化原创 2023-04-23 16:02:48 · 1119 阅读 · 32 评论 -
【C++】海量数据面试题
根据哈希的应用bitset位图、布隆过滤器,我们可以用他们去解决生活中海量数据的一些问题。原创 2023-04-20 20:07:16 · 526 阅读 · 3 评论 -
【C++】哈希的应用——布隆过滤器
布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,它是用多个哈希函数,将一个数据映射到位图结构中。相比于传统的 List、Set、Map 等数据结构,此种方式不仅可以提升查询效率,也可以节省大量的内存空间。原创 2023-04-19 13:09:48 · 980 阅读 · 33 评论 -
【C++】哈希的应用——bitset(STL)位图
我们在判断一个数据是否在给定的整形数据中,结果只有在或者不在这两种状态,那么就可以使用一个二进制比特位来代表数据是否存在的信息,如果二进制比特位为1,代表存在,为0代表不存在。这里我们采用直接定址法的哈希,用一个比特位标识映射值在不在,这就是位图。原创 2023-04-17 19:19:17 · 2219 阅读 · 62 评论 -
【C++】STL——用一个哈希表封装出unordered_map和unordered_set
根据先前对unordered_map和unordered_set的学习,我们得知其底层是借助哈希表来实现的,接下来我们会使用上篇博客实现的开散列哈希表来模拟实现unordered_map和unordered_set原创 2023-04-16 19:44:51 · 755 阅读 · 47 评论 -
【C++】哈希
unordered系列的关联式容器之所以效率比较高,是因为其底层使用了哈希结构。今天我们学习哈希,并模拟实现开散列哈希表和闭散列哈希桶。原创 2023-04-13 19:57:00 · 719 阅读 · 41 评论 -
【C++】STL——unordered_map和unordered_set的介绍和使用
unordered_set和unordered_map的基本使用原创 2023-04-12 22:18:07 · 450 阅读 · 11 评论 -
【C++】STL——用一颗红黑树封装出map和set
我们都知道set是K模型的容器,而map是KV模型的容器,但是它俩的底层都是用红黑树实现的,上篇博文中我们模拟实现了一颗红黑树,接下来将对其进行改造,继而用一颗红黑树封装出map和set。本质上map和set其内部的主要功能都是套用了红黑树现成的接口,只是稍作改动即可。原创 2023-04-10 20:51:50 · 778 阅读 · 40 评论 -
【C++】红黑树
红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍(最长路径不超过最短路径的2倍),因而是接近平衡的。原创 2023-04-07 15:13:59 · 688 阅读 · 55 评论 -
【C++】AVL树
今天我们学习AVL树,这里我们实现的AVL树为KV模型,自然节点的模板参数有两个,并且节点定义为三叉链结构(左孩子,右孩子,父亲),在二叉链表的基础上加了一个指向父结点的指针域,因为在某个子树插入节点后,如果这课子树的高度发生变化,那么子树的平衡因子需要进行调整,可能需要一路向上调整,比较麻烦,所以这个地方就引入了三叉链结构,使得即便于查找孩子结点,又便于查找父结点。接着还需要创建一个变量_bf作为平衡因子(右子树 - 左子树的高度差)。最后写一个构造函数初始化变量即可。原创 2023-04-05 13:32:41 · 611 阅读 · 32 评论 -
【C++】STL——set、multiset、map、multimap的介绍和使用
set、multiset、map、multimap的介绍和使用原创 2023-04-03 20:12:17 · 402 阅读 · 11 评论 -
【C++】二叉搜索树
二叉搜索树又称二叉排序树,且任何一颗子树都满足左子树的值 < 根 < 右子树的值。原创 2023-03-31 14:59:00 · 642 阅读 · 29 评论 -
【C++】模板进阶
模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误。原创 2023-03-15 00:40:56 · 566 阅读 · 30 评论 -
【C++】多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。在继承中要构成多态还有两个条件:1.必须通过基类的指针或者引用调用虚函数2.被调用的函数必须是虚函数(virtual),且派生类必须对基类的虚函数进行重写(函数名、返回值、参数均相同 + 虚函数)原创 2023-03-29 19:12:14 · 526 阅读 · 33 评论 -
【C++】继承
继承(inheritance)机制是面向对象程序设计使代码可以复用(避免设计重复)的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。原创 2023-03-27 19:23:17 · 647 阅读 · 4 评论 -
【C++】STL——list的模拟实现
这里强调下,因为list的特殊性,其本质是带头双向循环链表,我们可以通过list的模拟实现中迭代器的模拟实现理解面向对象:封装性原创 2023-03-01 15:07:25 · 576 阅读 · 8 评论 -
【C++】STL——priority_queue的介绍和使用及模拟实现
优先级队列是一种适用范围广泛的容器适配器,其底层接近于数据结构的堆,优先进符合条件的数据。原创 2022-12-22 20:58:20 · 660 阅读 · 14 评论 -
【C++】STL——stack和queue的介绍与使用及模拟实现
今天我们来学习stack和queue,这俩并不算容器,虽然stack和queue中也可以存放元素,但在STL中并没有将其划分在容器的行列,而是将其称为容器适配器,这是因为stack和队列只是对其他容器的接口进行了包装。接下来,我们来学习一下它们。原创 2022-12-19 22:47:27 · 638 阅读 · 14 评论 -
【C++】STL——list的常用接口
今天我们来学习STL——list的使用,这里介绍了它的常用接口。原创 2022-12-14 16:03:47 · 658 阅读 · 28 评论 -
【C++】vector迭代器失效与深浅拷贝问题
我们在模拟实现vector的时候会遇到迭代器失效问题以及深浅拷贝问题,这里我们来解决一下。原创 2022-12-12 10:49:43 · 728 阅读 · 44 评论 -
【C++】STL——vector的模拟实现
上篇博客我们练习了vector的常用接口,但是我们知道只会使用接口,不了解底层,只能是只见树木,不见深林。我们只有熟悉底层,才能更好的使用STL的容器,下面我们来实现vector。原创 2022-12-08 22:35:17 · 738 阅读 · 23 评论 -
【C++】STL——vector的常用接口
vector是stl中非常重要的容器,相当于数据结构中的顺序表,我们今天来学习它的常用接口。原创 2022-11-30 21:12:04 · 1089 阅读 · 12 评论 -
【C++】string类的模拟实现
string类的常用接口我们虽然会用,但是这还不够,我们需要熟悉string类的底层,学会模拟实现string类。原创 2022-11-27 20:10:39 · 269 阅读 · 33 评论 -
【C++】string类的常用接口
C++为了解决C语言中字符串难以使用的问题,引入了string类,可以方便、简单、快捷的使用string类去解决字符串的问题。原创 2022-11-25 19:07:30 · 290 阅读 · 27 评论 -
【C++】模板初阶
初始C++模板——函数模板和类模板原创 2022-10-31 22:39:17 · 274 阅读 · 22 评论 -
【C++】C / C++ 内存管理
深入探究C / C++ 内存管理原创 2022-10-29 00:52:15 · 2080 阅读 · 52 评论 -
【C++】日期计算器
在我们的日常生活中,我们可能需要计算几天后的日期,或计算日期差等,现如今计算日期的方式有很多,简单粗暴的直接查看日历,快捷点的直接使用日期计算器来求得,这里我们实现一个日期计算器。原创 2022-10-27 23:16:48 · 1663 阅读 · 28 评论 -
【C++】类和对象(下)
构造函数补充、隐式类型转换、static成员、友元、内部类、匿名对象、编译器优化……原创 2022-10-24 20:42:23 · 946 阅读 · 14 评论 -
【C++】类和对象(中)之类的6个默认成员函数
C++类的六大默认成员函数超详解原创 2022-10-22 23:08:36 · 368 阅读 · 74 评论 -
【C++】类与对象(上)
C++类和对象(上)原创 2022-10-19 23:51:35 · 283 阅读 · 57 评论 -
【C++】引用
C++的引用是一个非常重要的知识,我们需要深入掌握它!原创 2022-10-16 15:36:05 · 1120 阅读 · 61 评论 -
【C++】C++入门
今天我们来了解一下C++的入门知识原创 2022-10-13 22:58:54 · 4265 阅读 · 40 评论