C++
文章平均质量分 86
Protein_zmm
记录个人学习经历~~~
展开
-
[C++]unordered系列关联式容器
unordered系列的基本结构及其使用说明原创 2022-09-03 21:11:09 · 547 阅读 · 0 评论 -
[C++]红黑树模拟实现map与set
红黑树模拟实现map和set原创 2022-09-03 11:50:08 · 505 阅读 · 0 评论 -
[STL]map与set
map与set的使用以及OJ题原创 2022-08-09 23:37:30 · 233 阅读 · 1 评论 -
[数据结构C++实现]二叉搜索树
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:三、二叉搜索树实现3.1 非递归版本插入删除没有孩子的节点只有一个孩子的节点有两个孩子的节点并且最右节点(一定右为空)或者最左节点(一定左为空)删除只有一个孩子节点的情况:父亲会不会为空?——会,只有根节点父亲会为空让root指向cur的孩子有两个孩子的节点:要么找右子树最左节点或者是左子树最右节点若删除5:若删除7:不要给空:,不然min父节点为空,之后又会出错3.2 递归版本递归可能会爆栈原创 2022-08-04 15:55:25 · 963 阅读 · 2 评论 -
[C++]多态(下)
普通函数的继承是一种实现继承,派生类继承了基类函数,可以使用函数,继承的是函数的实现。虚函数的继承是一种接口继承,派生类继承的是基类虚函数的接口,目的是为了重写,达成多态,继承的是接口。多继承时,子类重写了Base1和Base2虚函数func1,但是虚表中重写的fun1地址的确不一样,但是这没有什么关系,因为最后还是会调到同一个函数。只有符合多态的条件,才会去虚函数的表中去找,就算是虚函数,但不构成多态也不会去虚函数的表中去找,而是直接确认了函数的地址。因此,纯虚函数一般只声明,不实现,实现没有价值。...原创 2022-07-30 14:04:30 · 320 阅读 · 0 评论 -
[C++]多态(上)
多态的定义与使用介绍原创 2022-07-28 16:04:12 · 235 阅读 · 1 评论 -
[C++]继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public};//继承后父类的Person成员(成员函数+成员变量)都会变为子类的一部分classStudent//学号};//工号};return0;}。。。...原创 2022-07-27 12:20:59 · 183 阅读 · 0 评论 -
[C++]IO流
IO流的基本介绍原创 2022-07-26 15:24:40 · 386 阅读 · 1 评论 -
[C++]模板进阶
c++模板的更深一步讲解原创 2022-07-25 20:58:01 · 443 阅读 · 0 评论 -
[STL]优先级队列priority_queue
优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先队列中位于顶部的元素)。优先队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从特定容器的“尾部”弹出,其称为优先队列的顶部。底层容器可以是任何标准容器类模板,也可以是其他特定设计的容器类。容器应该可以通过随机访问迭代器访问,并支持以下操作empty()...原创 2022-07-25 13:50:41 · 1163 阅读 · 0 评论 -
[STL]stack&queue模拟实现
STL中stack和queue的模拟实现以及deque的简单讲解原创 2022-07-24 21:32:06 · 492 阅读 · 1 评论 -
[STL]list模拟实现
stl中list的模拟实现原创 2022-07-24 15:38:59 · 447 阅读 · 0 评论 -
[STL]vector模拟实现
vector的模拟实现原创 2022-07-21 14:27:09 · 227 阅读 · 0 评论 -
[STL]string类的模拟实现
经典的string类问题我们来实现string类,最主要是实现string类的构造、拷贝构造、赋值运算符重载以及析构函数:深浅拷贝此时没有默认的拷贝构造,对于自定义类型,系统自动生成的拷贝构造是浅拷贝,此时s1与s2指向同一个空间因此只想让他们内容一样,但是指向的空间不一样,这里就涉及到了深浅拷贝因此要实现深拷贝——更深层次的拷贝,只拷贝指向的空间深拷贝:...........................原创 2022-07-19 22:35:09 · 723 阅读 · 2 评论 -
[STL]stack与queue
stack文档介绍stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作push_back:尾部插入元素操作原创 2022-05-14 18:29:01 · 97 阅读 · 0 评论 -
[STL]list
list讲解原创 2022-05-14 14:04:11 · 270 阅读 · 0 评论 -
[STL]vector
vector的基本使用原创 2022-05-14 12:05:32 · 101 阅读 · 0 评论 -
[STL]string
C++ string讲解原创 2022-05-04 10:43:16 · 243 阅读 · 0 评论 -
C++模板初阶
在c++中要完成函数交换可以用以下代码:void Swap(int& x1, int& x2){ int x = x1; x1 = x2; x2 = x;}void Swap(double& x1, double& x2){ double x = x1; x1 = x2; x2 = x;}void Swap(char& x1, char& x2){ char x = x1; x1 = x2; x2 = x;}但是这样原创 2022-04-05 10:14:01 · 742 阅读 · 0 评论 -
C++内存管理详解
C++内存划分栈:函数调用,建立栈帧(形参、局部变量等)32位下栈Linux 8M数据段–静态区代码段–常量区堆:程序运行过程中按需求申请和释放空间堆32位2G左右原创 2022-03-17 10:57:36 · 1265 阅读 · 0 评论 -
类与对象[中]
类的六个默认成员函数类的6个默认成员函数1、初始化和清理2、拷贝复制3、取地址重载一、构造函数类的6个默认成员函数一个类中如果什么成员也没有,简称为空类,但是空类中什么也没有吗?class Date{};并不是的,任何一个类都会自动生成以下6个默认成员函数:1、初始化和清理构造函数主要完成初始化工作析构函数主要完成清理工作2、拷贝复制拷贝构造是使用同类对象初始化创建对象赋值重载主要是把一个对象赋值给另外一个对象3、取地址重载主要是普通对象和const对象取地址,这两个很少会原创 2022-06-03 17:36:53 · 140 阅读 · 0 评论 -
[类与对象]上
面向过程与面向对象初了解C语言是面向过程的,关注过程,分析出求解问题的步骤,通过函数调用逐步解决C++是基于面向对象的,关注的是对象,讲一件事情拆分成不同的对象,靠对象之间的交互完成拿一个简单的外卖系统举例子:面向过程:关注实现下单、接单、送餐这些过程;在代码层面就是–方法、函数面向对象:关注实现类对象和对象之间的关系;用户、商家、骑手以及他们之间的关系;在代码层面就是类的设计及其类之间的关系C++基于面向对象:面向对象与过程混编原因在于C++兼容CJava只有面向对象类的引入与定义C语原创 2022-05-26 22:29:21 · 211 阅读 · 0 评论 -
类与对象详解(C++)(近2w字梳理全部知识点)
面向过程与面向对象初了解C语言是面向过程的,关注过程,分析出求解问题的步骤,通过函数调用逐步解决C++是基于面向对象的,关注的是对象,讲一件事情拆分成不同的对象,靠对象之间的交互完成拿一个简单的外卖系统举例子:面向过程:关注实现下单、接单、送餐这些过程;在代码层面就是–方法、函数面向对象:关注实现类对象和对象之间的关系;用户、商家、骑手以及他们之间的关系;在代码层面就是类的设计及其类之间的关系C++基于面向对象:面向对象与过程混编原因在于C++兼容CJava只有面向对象类的引入C语言中,原创 2022-03-16 08:31:07 · 270 阅读 · 0 评论