![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
文章平均质量分 94
Hyt的笔记本
这个作者很懒,什么都没留下…
展开
-
【C++】模拟实现string
模拟实现不是为了写得和库里面一样好。而是为了更好的了解底层,从而能够更熟练的使用这些类,同时也能学习大佬们的代码风格。在学习这章之前,需要对类与对象有一定的知识基础,如果对类与对象有些生疏的话,可以看看这篇文章:《类与对象string 类是 C++标准库中的一个重要类,用于表示字符串。动态存储:可以自动管理内存,根据字符串的实际长度动态分配和释放内存。丰富的操作:提供了很多方便的操作方法,如字符串连接、查找、比较、提取子串等。高效性:在性能上表现较好,适用于各种字符串处理场景。原创 2024-05-03 22:45:26 · 1054 阅读 · 0 评论 -
【C++】键值对pair的使用和模拟实现
在 C++ 中, pair 是一个标准库模板,它将两个不同类型的值组合成一个对。pair 通常用于将相关的两个值(例如键值对、坐标、元素和重量等)封装在一起,以便于处理和传递。pair该类将一对不同类型的值(T1和T2)耦合在一起。单个值可以通过它的公共成员第一个和第二个来访问。原创 2024-03-24 14:40:49 · 564 阅读 · 0 评论 -
【C++】模板与泛型编程
class 类模板名// 类内成员定义// 动态顺序表// 注意:Vector不是具体的类,是编译器根据被实例化的类型生成具体类的模具public:, _size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表。原创 2024-03-24 14:40:10 · 915 阅读 · 0 评论 -
【C++】适配器模式
C++中的适配器是一种设计模式用于将一个类或对象的接口转换为另一个接口,以便不同的类或对象可以相互协作。适配器模式可以分为类适配器和对象适配器两种形式。类适配器通过继承源类并实现目标接口来实现适配。在类适配器中,适配器类同时继承自源类和目标接口,并重新实现目标接口的方法,以将源类的方法转换为目标接口的方法。对象适配器则通过在适配器类中包装一个源对象来实现适配。在对象适配器中,适配器类持有一个源对象的引用,并实现目标接口的方法,在方法内部调用源对象的相应方法来完成适配。原创 2024-05-02 11:01:35 · 950 阅读 · 1 评论 -
【C++】多态
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。那么在继承中要构成多态还有两个概念必须通过基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。原创 2024-05-05 21:56:48 · 1106 阅读 · 1 评论 -
【C++】继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。public:protected:// 姓名// 年龄// 继承后父类的Person的成员(成员函数+成员变量)都会变成子类的一部分。// 这里体现出了Student和Teacher复用了Person的成员。原创 2024-05-05 21:56:14 · 936 阅读 · 0 评论 -
【C++】STL使用详解
C++ 的标准模板库(Standard Template Library,简称 STL)是一个非常强大和实用的库,它提供了许多常用的数据结构和算法,使得 C++ 编程更加高效和方便。容器(Containers):STL 提供了一系列容器,用于存储和管理不同类型的数据。常见的容器包括向量(vector)、列表(list)、队列(queue)、栈(stack)、集合(set)、映射(map)等。每个容器都有其特定的特性和适用场景,可以根据数据的访问方式、插入和删除效率等需求选择合适的容器。原创 2024-05-02 11:02:38 · 550 阅读 · 0 评论 -
【C++】STL简介
是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。其中迭代器是一个很重要的组成部分原创 2024-03-19 18:53:06 · 262 阅读 · 0 评论 -
【C++】内存管理
int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的//C开辟空间的方式//C++开辟空间的方式free(p3);delete p4;free(p5);return 0;讲到这里我们实际上就能将new和。原创 2023-11-11 20:09:19 · 96 阅读 · 3 评论 -
【C++】类的默认成员函数
在C++的学习中,相信大部分人在构造函数的这块,学得不是很清楚,可能会使用,但不太懂它的一些规则,这篇文章,我会尽量的讲得简单易懂一点。但在看这篇文章之前,需要对类和对象有一个简单的认识。首先,我们先来见一见构造函数是什么样子的,先见一见它的庐山真面目,我们才能对它进行深刻的理解和学习:这里我写了一个日期类来进行讲解,请大家记住我在上图中用括号括起来的字,后面我们会对上面的话有一个全新的理解!!原创 2023-11-11 17:06:43 · 224 阅读 · 2 评论 -
【C++】类与对象
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字ClassName为类的名字{}中为类的主体类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。声明和定义全部放在类体中,需注意:成员函数如果在类中定义编译器可能会将其当成内联函数处理。成员函数名前需要加类名一般情况下,更期望采用第二种方式。但是如果函数体内的代码量如果少的话,还是建议直接写在类里面,因为这样可以被当做内联函数处理。原创 2024-01-01 13:00:39 · 809 阅读 · 0 评论 -
【C++】入门
本章主要补充C语言过度到C++的一些语法,可能在本章体现不出这些C++的语法,但到后面会理解得越来越深刻。定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// hyt是命名空间的名字,一般开发中是用项目名字做命名空间名。// 大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间是可以嵌套的。原创 2023-10-24 22:33:53 · 60 阅读 · 1 评论