![](https://i-blog.csdnimg.cn/direct/0d4db0418f8b49c998b0154b2e3c3025.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 91
从零开始进行C++,理解面向对象思维
卡戎-caryon
一名在努力搬砖的双非学生
展开
-
【C++】20.unordered_set 和 unordered_map
unordered_set 和 unordered_map 使用详解原创 2024-07-28 20:24:29 · 516 阅读 · 0 评论 -
【C++】19.红黑树模拟实现 set 和 map
map和set的模拟实现详解原创 2024-07-25 21:36:33 · 335 阅读 · 0 评论 -
【C++】18.红黑树
图解红黑树,对比AVL树原创 2024-07-23 22:08:32 · 722 阅读 · 0 评论 -
【C++】17.AVL树
AVL树插入部分旋转详解原创 2024-07-22 14:54:35 · 835 阅读 · 0 评论 -
【C++】16. set 和 map
set 和 map概念性理解原创 2024-07-19 18:26:56 · 967 阅读 · 0 评论 -
【C++】15.二叉搜索树
二叉搜索树详解原创 2024-07-16 17:05:35 · 364 阅读 · 0 评论 -
【C++】14.多态
多态部分详解原创 2024-07-10 14:13:23 · 1295 阅读 · 0 评论 -
【C++】13.继承
继承部分的详解原创 2024-07-08 23:23:17 · 607 阅读 · 0 评论 -
【C++】12.模板进阶
模板的进阶部分讲解原创 2024-06-05 16:28:15 · 582 阅读 · 0 评论 -
【C++】11.stack和queue
栈和队列、仿函数、优先级队列原创 2024-06-05 14:04:01 · 851 阅读 · 0 评论 -
【C++】10.list
list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。原创 2024-06-01 15:01:08 · 311 阅读 · 0 评论 -
【C++】09.vector
和string有什么区别?是vector以char类型为模板实例化的类模板,她一次只能对单个字符进行操作,所拥有的也是vector这个类的集体属性,而string类一次可以完成对多个字符的操作(字符串或字符),拥有字符串所具有的特性,例如+=。原创 2024-05-25 15:01:38 · 502 阅读 · 0 评论 -
【C++】08.string类模拟实现
这篇博客我们来按来模拟实现string类。原创 2024-05-14 21:15:22 · 678 阅读 · 0 评论 -
【C++】07.string详解
在C语言中,字符串是以 '\0' 结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。在这种情况下,C++引入了string类来满足OOP。 本篇博客以string - C++ Reference为纲领对string类进行说明。 常用的构造函数如下: 上述第一原创 2024-05-09 16:10:55 · 928 阅读 · 1 评论 -
【C++】06.模板简单介绍
模板主要包括函数模板和类模板,本篇的介绍也围绕着这两点展开……原创 2024-04-25 12:24:13 · 421 阅读 · 1 评论 -
【C++】05.C语言/C++内存管理
在内置类型中,C语言的malloc和free与C++中的new和delete使用起来差别并不大。但是在自定义类型中,new和delete就很重要了。原因就在于,在自定义类型中,new和delete可以分别调用构造函数和析构函数来对对象完成初始化和资源清理。int main()// new / delete 和 malloc / free最大区别是 new / delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的。原创 2024-04-24 16:43:28 · 462 阅读 · 0 评论 -
【C++】04.类和对象(下)
3) 尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量, 一定会先使用初始化列表初始化。初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。1)友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类中的非公有成员。,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。3)友元关系不能传递 如果C是B的友元, B是A的友元,则不能说明C时A的友元。原创 2024-04-19 21:13:20 · 424 阅读 · 0 评论 -
【C++】03.类和对象(中)
C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其 返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。5) 如果类中没有申请资源时,析构函数可以不写,直接使用编译器生成的默认析构函数,比如 Date类;b)内置类型成员没有资源需要清理,剩下的都是自定义类型成员,自定义类型调用自己的析构函数。其实不是的,当一个类在什么都不写的时候就会自动生成6个默认的成员函数(用户没有写,但是编译器自动生成的成员函数)。4)返回*this :要复合连续赋值的含义。原创 2024-04-15 18:16:09 · 749 阅读 · 0 评论 -
【C++】02.类与对象(上)
C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。但是在C++中更喜欢使用class来代替。class Data//类体public:private:int _year;int _month;int _day;//不要忘记分号类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。原创 2024-04-11 20:54:35 · 524 阅读 · 1 评论 -
【C++】01.从C语言转向C++
使用namespce关键字来定义命名空间,如下:int A;//可以定义变量/函数/类型,也可以嵌套int B;在上述代码中我们看到了命名空间是可以嵌套定义的。在一个工程中允许存在着多个名称相同的命名空间,编译器会将其自动合并。原创 2024-04-11 20:07:49 · 1278 阅读 · 5 评论