C++从练气到飞升
文章平均质量分 97
C++
库库的里昂
c/c++领域新星创作者
展开
-
【C++从练气到飞升】13---优先级队列的使用与底层实现
优先级队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。此上下文类似于堆,在堆中可以随时插入元素,并且只能检索最大堆元素(优先级队列中位于顶部的元素)。优先级队列被实现为容器适配器,容器适配器即将特定容器类封装作为其底层容器类,queue 提供一组特定的成员函数来访问其元素。元素从特定容器的“尾部”弹出,其称为优先级队列的顶部。底层容器可以是任何标准容器类模板,也可以是其他特定设计的容器类。原创 2024-08-19 18:11:10 · 627 阅读 · 0 评论 -
【C++从练气到飞升】12---stack和queue的底层实现
stack 是一种容器适配器,专门用在具有后进先出的上下文环境中。只能从容器的一端进行元素的插入与提取操作。stack 是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,使得元素在特定容器的尾部(栈顶)被压入和弹出。stack 的底层容器可以使任何标准的容器类模板或者一些其它特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作push_back:尾部插入元素操作pop_back:尾部删除元素操作。原创 2024-08-17 16:33:05 · 1010 阅读 · 2 评论 -
【C++从练气到飞升】11---list的底层实现
list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list 的底层是双向链表结构,双向链表中的每个元素存储在互不相关的独立节点中,在节点中通过指针指向的前一个元素和后一个元素。list 和 forward_list 非常相似:最主要的不同在于 forward_list 是单链表,只能朝前迭代,已让其更简单高效。与其它的序列式容器相比(arry、vector、deque),list 通常在任意位置进行插入,移除元素的执行效率更好。原创 2024-08-13 15:13:42 · 743 阅读 · 0 评论 -
【C++从练气到飞升】10---string的底层实现
🎈✨🎉欲高飞先振翅,人求上进先读书🎉。原创 2024-08-11 10:11:16 · 1292 阅读 · 0 评论 -
【C++从练气到飞升】09---string语法指南
🎈✨🎉。原创 2024-04-22 16:10:00 · 858 阅读 · 0 评论 -
【C++从练气到飞升】08---模板
泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础class 类模板名// 类内成员定义// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public :, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表if(_pData)原创 2024-04-18 13:57:20 · 957 阅读 · 1 评论 -
【C++从练气到飞升】07---内存管理
class Apublic:A(int a = 0)//全缺省: _a(a)~A()private:int _a;int main()//动态申请一个A类型的空间,调用一次构造函数delete p2;//动态申请一个A类型的空间并初始化为3,调用一次构造函数delete p3;//动态申请三个A类型的空间,调用三次构造函数//调用三次析构函数return 0;由上图可以明显的看到new开空间且调用了构造函数,delet调用了析构函数且释放空间🌟注意。原创 2024-04-16 15:30:58 · 1071 阅读 · 1 评论 -
【C++从练气到飞升】06---重识类和对象
内置类型如果给了默认值,则编译器会使用这个默认值。原创 2024-03-25 15:48:48 · 1832 阅读 · 38 评论 -
【C++从练气到飞升】05---运算符重载
对于关系运算符可以考虑加上const修饰,因为并不会改变对象本身,但是并不是所有的成员函数都要加const修饰,要修改对象成员变量的函数,例如:重载的+=、-=等,是不能加const修饰的,因为会修改成员本身,而成员函数中如果没有修改对象的成员变量,可以考虑加上const修饰,这样不仅普通对象可以调用该成员函数(权限的缩小),const对象也能调用该成员函数(权限的平移)原创 2024-03-25 15:48:25 · 1200 阅读 · 38 评论 -
【C++从练气到飞升】04---拷贝构造函数
🌏若未显式定义,编译器会生成默认的拷贝构造函数。默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝叫做浅拷贝,或者值拷贝。class Dateprivate:// 基本类型(内置类型)// 自定义类型Time _t;用已经存在的d1拷贝构造d2,此处会调用Date类的拷贝构造函数。原创 2024-03-18 10:06:10 · 1477 阅读 · 61 评论 -
【C++从练气到飞升】03---构造函数和析构函数
🌟构造函数是一个特殊的成员函数,名字与类名相同, 创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一次。3. 构造函数的特性构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。🌏函数名与类名相同。🌏无返回值。(不需要写void)🌏对象实例化时编译器自动调用对应的构造函数。原创 2024-03-13 09:53:53 · 2048 阅读 · 67 评论 -
【C++从练气到飞升】02---初识类与对象
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中//定义一个人的类public://成员函数——显示基本信息public://成员变量//姓名char* _sex;//性别int _age;//年龄。原创 2024-03-11 09:41:53 · 1796 阅读 · 70 评论 -
【C++从练气到飞升】01---C++入门
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。原创 2024-03-04 10:08:21 · 2583 阅读 · 74 评论