C++
文章平均质量分 96
C++的学习心得
好像有点东西
持续学习中。。。
展开
-
【数据结构】红黑树
红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它在每个节点上增加了一个额外的属性,即颜色,可以是红色或黑色。通过满足一定的约束条件,红黑树能够保持较佳的平衡性,从而保证基本的操作(插入、删除、查找)的时间复杂度为 O(log n)。红黑树常见的应用包括标准库中的关联容器(例如C++中的std::map和std::set)、数据库的索引结构、以及在操作系统中的进程调度等方面。原创 2024-04-16 17:17:01 · 907 阅读 · 0 评论 -
【C++】AVL树详解
AVL树是一种高效的自平衡二叉搜索树,在计算机科学领域得到广泛应用。本文主要介绍了AVL树的概念、节点定义、AVL树的实现以及验证,其中包括对平衡因子的解释,研究在插入节点时,如何通过旋转来调节平衡因子来保持AVL树的特性。原创 2024-02-29 21:10:59 · 1032 阅读 · 0 评论 -
【C++】map和set——树形结构的关联式容器
本文主要讲述了C++中序列式容器和关联式容器的概念,着重讲解关联式容器中的键值对pair、树形结构的关联式容器set、map、multiset、multimap的使用。原创 2024-02-29 14:25:12 · 1133 阅读 · 0 评论 -
【C++】二叉搜索树
本篇主要介绍了二叉搜索树的功能和实现,介绍了K模型和KV模型的应用,最后对二叉搜索树的性能进行分析。原创 2023-12-13 20:35:40 · 1014 阅读 · 0 评论 -
【C++】多态
本篇主要介绍了c++中多态的概念、实现和原理,介绍了虚函数、重写、重定义的概念和注意事项,引入了抽象类、接口/实现继承、虚函数表、动态绑定的概念,介绍了多继承关系中的虚函数表。本篇细节干货较多,希望对大家有所帮助。原创 2023-12-10 17:28:31 · 871 阅读 · 0 评论 -
【C++】继承(二)
本篇内容介绍了继承体系中友元和静态成员的使用,介绍了单继承和多继承,进而引入了菱形继承的概念,讨论了菱形继承存在的问题和解决方法:虚拟继承。最后扩展地介绍了继承和组合,通过问答的方式说明了两者的不同和使用场景。原创 2023-11-21 20:34:19 · 131 阅读 · 0 评论 -
【C++】继承(一)
本篇内容主要介绍了继承的概念和定义、基类和派生类的赋值转换、继承中的作用域、以及派生类的默认成员函数的相关知识。原创 2023-11-21 17:11:55 · 26 阅读 · 0 评论 -
【C++】模板:非类型模板参数、类模板的特化、模板的分离编译
模板的进阶知识:非类型模板参数、模板的特化、模板的分离编译。原创 2023-10-26 08:40:55 · 124 阅读 · 0 评论 -
【C++】stack、queue和priority_queue
在C++ STL(Standard Template Library)标准库中,stack、queue、priority_queue 是常用的容器适配器,它们基于其它基本容器(例如 std::deque 以及 std::vector)进行实现,为程序员提供了一种基于 LIFO(Last In First Out)和 FIFO(First In First Out)规则的数据结构。原创 2023-10-20 10:59:29 · 58 阅读 · 0 评论 -
【C++】list详解、list与vector的对比
list 是一个允许在常数时间(O(1))内进行任意位置插入/删除操作的顺序容器,并且该容器可以前后双向迭代。list 的实现方法类似于双向链表:双向链表在不同的且没有关联的存储空间存储每一个元素,但是每个元素保持链接着它的前一个和后一个元素。l原创 2023-10-08 10:19:55 · 310 阅读 · 0 评论 -
【C++】vector
C++中的vector是一种动态数组容器,提供了灵活的数组操作接口。它是标准库中最常用和最常见的容器之一,具有以下特点和用途:1. 动态调整大小2. 高效的随机访问3. 高效的尾部插入和删除4. 连续的内存存储5. 支持动态增长6. 提供丰富的成员函数和操作接口。通过使用vector,我们可以更方便地管理和操作动态大小的数组数据。原创 2023-09-23 16:10:42 · 190 阅读 · 0 评论 -
【C++】string类
C++引入string类是为了提供一种更高级、更方便和更安全的字符串处理方式,相比于C语言中使用字符数组和库函数来处理字符串,引入string类使得C++中的字符串处理更加便捷、安全和高级,提供了更多的功能和操作,减少了开发者的工作量,同时也提高了代码的可读性和可维护性。因此,使用string类能够在C++中更好地处理字符串。原创 2023-09-20 17:49:09 · 41 阅读 · 0 评论 -
【C++】泛型编程、函数模板、类模板
C++引入了基于模板机制的泛型编程,即给编译器一个模板,让编译器根据不同的类型利用该模板生成相应的代码。 模板机制实现代码重用、拥有更高的灵活性和可扩展性,同时也是C++语言的重要特性之一。函数模板是一种通用的函数形式,允许定义一个通用的函数,在使用时可以根据参数类型自动推导出模板参数类型,并生成相应的函数实例。类模板是一种通用的类形式,可以根据实参的数据类型生成对应的类实例。原创 2023-09-15 11:40:49 · 72 阅读 · 0 评论 -
【C++】内存管理
本文复习了C语言的动态内存管理方式malloc/calloc/realloc/free,介绍了C++的内存管理方式:new/delete。将二者对比得出结论:虽然 malloc/free 和 new/delete 都可以用于内存的分配和释放,但在C++中,推荐使用 new/delete 来管理动态分配的内存,因为它们提供了更好的类型安全性和自动调用构造函数和析构函数的功能。原创 2023-09-14 17:23:42 · 29 阅读 · 0 评论 -
【C++】类和对象(三)
本文再谈构造函数,认识了构造函数可能使用到的初始化列表和explicit关键字。接着详细介绍了const成员和static成员的使用和注意事项,最后引入了友元和内部类两个概念,进一步加深了对类和对象的认识。原创 2023-09-13 16:38:06 · 31 阅读 · 0 评论 -
【C++】类和对象(二)
在C++中,当我们定义一个类时,编译器会自动为该类生成一些默认的成员函数,除非显式地定义或删除它们。本文主要介绍了这些成员函数中的构造函数、析构函数、拷贝构造函数和赋值运算符重载。原创 2023-09-12 15:22:47 · 31 阅读 · 0 评论 -
【C++】类和对象(一)
在C++中,类是一种用户自定义的数据类型,它封装了数据和相应的操作(方法)来处理这些数据。对象是类的一个实例,可以通过实例化类来创建多个具体的对象。本文主要介绍了类的引入、类的定义、以及类的访问限定符及封装。通过类的实例化进而介绍类对象模型,最后介绍了特殊的this指针原创 2023-09-10 16:45:03 · 28 阅读 · 0 评论 -
【C++】引用、内联函数、auto关键字、指针空值nullptr
C++中的引用、内联函数、auto关键字、指针空值nullptr的概念和使用细则。原创 2023-08-02 18:05:48 · 99 阅读 · 0 评论 -
【C++】入门:命名空间、输入输出、缺省参数
C++的基础知识:命名空间、输入输出、缺省参数的介绍和使用原创 2023-08-02 12:19:12 · 89 阅读 · 0 评论