C++
文章平均质量分 57
胖肚肚biubiu
这个作者很懒,什么都没留下…
展开
-
STL简介
:C++在C++98版本引入的标准模板库。比如将常见的数据结构(顺序、链表、栈和队列,堆、哈希等)以模板的方式进行封装实现了常见的算法(删除值为val的元素、删除偶数等)原创 2023-05-14 10:08:56 · 53 阅读 · 0 评论 -
C++关联式容器
关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对,在数据检索时比序列式容器效率更高。树型结构的关联式容器主要有四种:map、set、multimap、multiset。在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面。用平衡搜索树(即红黑树)作为其底层结果,容器中的元素是一个有序的序列。那什么是关联式容器?原创 2023-05-03 21:52:59 · 56 阅读 · 0 评论 -
C++——Vector
所有插入的方法:push_back() insert(v.begin ( ) ,v.end( ) ) resize(newsize,data)T& opeartor[](size_t index) 和 const T& opeartor[](size_t index)const。迭代器失效:由于迭代器的本质是指针,所以失效指的是迭代器对应的 指针失效(指针指向空间不存在 或者 指针成为了一个野指针)迭代器本质:就是对指针的封装。但是它的大小是可以动态改变的,而且它的大小会被容器自动处理。原创 2023-04-30 10:12:16 · 35 阅读 · 0 评论 -
C++——多态(重写、抽象类、final&override 和 final 关键字)
通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。// 需求:实现一个绘图软件// 如果是圆,画圆// 如果是矩形,画矩形// 如果是三角形,画三角形// 设置一个图形类public:// 虚函数cout原创 2023-04-30 10:11:31 · 80 阅读 · 0 评论 -
priority_queue:优先级队列(详解+代码示例)
priority_queue 是容器适配器,它提供常数时间的(默认)最大元素查找,对数代价的插入与释出。用 priority_queue 工作类似管理某些随机访问容器中的堆,优势是不可能突然把堆非法化。堆:完全二叉树+条件:任意节点都要比孩子节点小(大)--->小堆(大堆)③优先级队列中元素的比较方式-----默认按照小于的方式比较。注意:虽然按照小于的方式比较,但是默认创建的是大堆。②优先级队列的元素默认是存储到vector中。创建小堆,必须将堆中的元素按照大于的方式比较。原创 2023-04-24 17:42:39 · 93 阅读 · 0 评论 -
C++——同名隐藏&重写的区别
同名隐藏只要求方法名字相同即可,和返回值类型以及参数列表是否相同没有要求。2.重写要求基类和子类虚函数的原型必须一致(析构和协变除外)1.两个函数都是在继承体系中,一个在基类中,一个在子类中。上述两个条件满足之后,则一定是同名隐藏,但不一定是重写。1.重写在基类的成员函数必须是虚函数。2.两个函数的名字都是相同的。原创 2023-04-23 21:25:19 · 96 阅读 · 0 评论 -
C++——继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。3. 如果基类定义了带有参数的非全缺省的构造方法,则子类必须实现自己的构造方法,并且必须在其初始化列表的位置显式调用基类的构造方法,对从基类继承下来的成员变量进行初始化。3、可以让基类的指针指向子类的对象,反之则不行——如果一定要让子类的指针指向基类的对象,只能强转。注意:如果有多个基类,每个基类前必须要添加继承权限,否则就是默认的继承权限。原创 2023-04-13 21:40:13 · 76 阅读 · 0 评论 -
C++迭代器
迭代器是设计模式的一种:iterator模式定义:提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。原创 2023-02-23 22:31:33 · 43 阅读 · 0 评论 -
C++——string
在构造时,将资源的计数给成1,每增加一个对象使用该资源,就给计数增加1,当某个对象被销毁时,先给该计数减1,然后再检查是否需要释放资源,如果计数为1,说明该对象时资源的最后一个使用者,将该资源释放;如果n没有传递,表示从pos位置开始一直截取到末尾,如果pos和n都没有传递,将字符串整个进行截取。写时拷贝就是一种拖延症,是在浅拷贝的基础之上增加了引用计数的方式来实现的。从字符串pos位置开始往后找字符c,返回该字符在字符串中的位置。从字符串pos位置开始往前找字符c,返回该字符在字符串中的位置。原创 2023-02-18 11:47:21 · 47 阅读 · 0 评论 -
C++——模板
为什么出现模板这一概念?原因:使用函数重载所存在的问题1. 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数2. 代码的可维护性比较低,一个出错可能所有的重载均出错所以给编译器一个模子,让编译器根据不同的类型利用该模子来生成代码——模板。原创 2023-01-13 16:46:55 · 69 阅读 · 0 评论 -
C/C++内存管理
new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用函数释放对象的空间new T[N]的原理1. 调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间的申请2. 在申请的空间上执行N次构造函数delete[]的原理。原创 2023-01-12 17:30:51 · 70 阅读 · 0 评论 -
c++友元
可分为友元类和友元函数作用:友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以友元不宜多用。原创 2023-01-12 14:54:32 · 37 阅读 · 0 评论 -
Static成员
static基础概念原创 2023-01-08 10:37:01 · 37 阅读 · 0 评论 -
C/C++——const成员函数
分分钟了解const成员函数原创 2023-01-06 10:38:36 · 90 阅读 · 0 评论 -
类与对象(构造&析构& 拷贝&赋值运算符重载)
必须要知道的概念原创 2023-01-05 17:56:22 · 56 阅读 · 0 评论 -
C++入门——引用
快速了解C++引用原创 2023-01-05 17:57:16 · 42 阅读 · 0 评论