c++
文章平均质量分 95
c++
mljy.
种一棵树最好的时间就是现在
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++《C++11》(上)
本文介绍了C++11中的两大重要特性:列表初始化和右值引用。在列表初始化部分,通过initializer_list容器实现了统一初始化方式,使各类容器都能使用{}初始化。在右值引用部分,详细讲解了左值/右值概念、右值引用语法、移动构造和移动赋值原理,并通过string类实现示例展示了如何通过移动语义优化资源管理。文章还分析了不同场景下编译器对移动语义的优化处理,以及STL容器如何利用右值引用提升效率。这些特性使C++11代码更简洁高效,为后续学习C++11其他特性奠定了基础。原创 2025-09-05 16:01:18 · 1281 阅读 · 35 评论 -
C++《哈希表》
本文介绍了哈希表的基本概念、哈希函数和处理哈希冲突的方法。主要内容包括:1. 哈希表实现原理,重点讲解了直接定址法、除留余数法和乘法散列法等哈希函数;2. 处理哈希冲突的两种主要方法:开放地址法(线性探测、二次探测、双重探测)和链地址法,并给出了代码实现;3. C++标准库中unordered_map和unordered_set的使用方法及其与map/set的区别;4. 基于哈希桶的unordered_map和unordered_set的模拟实现,包括迭代器设计、插入查找删除等核心功能。通过测试验证了实现代原创 2025-08-28 16:22:48 · 1272 阅读 · 35 评论 -
C++《使用红黑树封装map与set》
在之前的红黑树专题当中我们了解的红黑树的基本概念,在此之后我们试着实现了红代码。在之前的set和map专题当中我们已经了解了map和set的使用方法,了解了map和set如何使用,接下来就试着基于之前实现的红黑树来封装出出我们自己实现的map和set。相信通过本篇的学习能让你对map和set有更深的理解,一起加油吧!原创 2025-08-11 01:23:19 · 864 阅读 · 39 评论 -
C++《AVL树》
在之前的学习当中我们已经了解了二叉搜索树,并且我们知道二叉搜索树的查找效率是无法满足我们的要求,当二叉树为左或者右斜树查找的效率就很低下了,那么这本篇当中我们就要来学习对二叉搜索树进行优化的二叉树——AVL树。在此会先来了解AVL树是什么,之后再学习AVL树的结构特点,最后会试着来实现AVL树的结构。在AVL树当中各种旋转是较难理解的,需要我们静下心来理解,一起加油吧!!!原创 2025-01-21 21:29:10 · 2087 阅读 · 58 评论 -
C++《红黑树》
在之前的篇章当中我们已经了解了基于二叉搜索树的AVL树,那么接下来在本篇当中将继续来学习另一种基于二叉搜索树的树状结构——红黑树,在此和之前学习AVL树类似还是通过先了解红黑树是什么以及红黑树的结构特点,接下来在试着实现红黑树的结构以及实现红黑树插入新节点、进行节点查询的功能,相信通过本篇的学习能让你了解红黑树,一起加油把!!!原创 2025-03-18 23:30:13 · 2527 阅读 · 45 评论 -
C++《set与map》
在之前我们已经学习了解了C++STL当中的string和vector等容器,现在我们已经懂得了这些容器提供的接口该如何使用,并且了解了这些容器的底层结构。接下来我们在本篇当中将继续学习STL内的容器set与map,在此这两个容器与我们之前学习的容器提供的成员函数以及底层结构有较大的差异。接下来就开始本篇的学习吧!原创 2024-12-02 22:32:06 · 3659 阅读 · 105 评论 -
C++《二叉搜索树》
在初阶数据结构中我学习了树基础的概念以及了解了顺序结构的二叉树——堆和链式结构二叉树该如何实现,那么接下来我们将进一步的学习二叉树,在此会先后学习到二叉搜索树、AVL树、红黑树;通过这些的学习将让我们更易于理解后面set、map、哈希等的使用以及对底层结构的了解。在此先本篇中我们将了解二次搜索树的概念以及实现二叉搜索树插入、删除等的操作,在了解了这些之后相信在下一篇的set和map的学习你将轻松许多,接下来就开始本篇的学习吧!!!原创 2024-11-25 21:31:43 · 3567 阅读 · 91 评论 -
C++《模板进阶》
在之前的C++《模板初阶》当中我们初步了解了在C++当中模板的作用,并且了解了模板类和模板函数的定义和实例化时的使用方式,那么接下来在本篇我将进一步的学习模板的相关概念,例如特化,非类型模板参数等,相信通过本篇的学习你将对模板有更深的理解,要求加油吧!原创 2024-11-23 17:32:30 · 4838 阅读 · 78 评论 -
C++《多态》
在上一篇的C++《继承》当中我们了解了C++当中面向对象的一大特性继承,在类和对象章节我们了解了面向对象的特性封装,那么接下来我们在本篇就来了解面向对象的最后一个特性——多态,在此我们会了解到多态的概念以及要实现多态的必要条件是什么,最后我们会了解到多态的原理。相信通过本篇的学习会让你深入了解多态,接下来就开始本篇的学习吧!原创 2024-11-18 22:29:16 · 2820 阅读 · 93 评论 -
C++《继承》
在之前学习学习C++类和对象时我们就初步了解到了C++当中有三大特性,分别是封装、继承、多态,通过之前的学习我们已经了解了C++的封装特性,那么接下来我们将继续学习另外的两大特性,在此将分为两个章节来分别讲解继承和多态。本篇就先来学习继承的相关概念和性质,一起加油吧!原创 2024-11-14 20:48:50 · 2162 阅读 · 101 评论 -
C++《stack与queue》
在之前的章节我们学习了C++当中string、vector和list三种容器并且试着模拟实现这三种容器,那么接下来在本篇当中我们将STL当中的stack和queue,并且在学习stack和queue的使用之后和之前一样还会试着模拟实现stck和queue。在此我们还要了解到stack和queue是一种容器适配器,那么在这之前就要了解容器适配器是什么。最后我们还要了解一种双端队列的容器,并且分析其与vector和list的区别,那么接下来就开始本篇的学习吧!原创 2024-11-12 00:49:26 · 1883 阅读 · 85 评论 -
C++《list的模拟实现》
在上一篇C++《list》专题当中我们了解了STL当中list类当中的各个成员函数该如何使用,接下来在本篇当中我们将试着模拟实现list,在本篇当中我们将通过模拟实现list过程中深入理解list迭代器和之前学习的vector和string迭代器的不同,接下来就开始本篇的·学习吧!原创 2024-11-05 22:13:46 · 3473 阅读 · 109 评论 -
C++《list》
在本篇当中我们将学习STL中的list,在此list就是我们之前在数据结构学习过的链表,在本篇中我们要来了解list当中的成员函数该如何使用,由于list各个函数的接口和之前学习过的vector类型,因此在学习list的使用就较为轻松。在lis篇章中我们要重点了解的是在下一个篇章当中的list模拟实现中的迭代器实现,由于list底层的物理空间不一定是连续的,因此list迭代器的实现相比之前学习过的容器就复杂多了,在下一篇中将带来细致的讲解。在此之前我们先来了解list该如何使用吧!原创 2024-10-31 23:25:45 · 1914 阅读 · 88 评论 -
C++《vector的模拟实现》
在了解了什么是迭代器失效之后接下来就可以来分析为什么以上的代码存在迭代器失效的问题了在插入前当内存空间不足时也就是_finish = _endofstorage时就需要先进行扩容,那么在调用reserve之后_start就指向新的内存空间,但问题是此时指针pos还指向原来的内存空间,但是原内存空间内的数据已经被释放,此时pos指针就变为空指针,所以之后的将要插入位置之后的数据都往后移动一位时就会造成程序奔溃。原创 2024-10-27 21:03:35 · 3773 阅读 · 93 评论 -
C++《vector》
在之前C++《string》当中我们学习了string的各个接口的使用以及在string模拟实现当中试着实现了string当中日常我们会较为频繁使用到的接口,通过模拟实现我们对string的底层有了更深层次的理解。接下来在本篇当中我们将进行进行STL的学习,在本篇我们要学习的容器是vector也就是之前在数据结构学习过的顺序表,在学习vector过程中由于STL的接口大部分都是相识的因此在学习完string后学习vector将会轻松许多。接下来就开始本篇的学习吧!原创 2024-10-23 15:06:53 · 1815 阅读 · 86 评论 -
C++《string的模拟实现》
通过学习string内的各个函数后我们可以发现在解决一些要使用到字符串的环境下有了string内的这些函数操作能大大简化,在此当中最主要的是在进行插入、删除等操作时我们不用再显示的去对字符串的内存空间进行调整。那么在之前我们只是了解了string的该如何使用,接下来在本篇当中我们将试着模拟实现string,我们在学习了string的使用之后要模拟实现是为了能从更底层来了解string的各个功能时如何实现的,这会让加深对string的了解。接下来就开始本篇的学习吧!原创 2024-10-15 23:31:14 · 2879 阅读 · 89 评论 -
C++《string》
在之前的C语言学习当中我们已经了解了一系列的字符以及字符串函数,虽然这些函数也能实现对字符串进行求长度、拷贝、追加等操作,但是C语言当中的这些函数是与字符串分离的,并且最主要的是在使用这些函数时原字符串的底层空间是需要我们自己来管理的,这就很繁琐,稍不小心就会造成越界等问题。因此为了解决C语言中str系列函数的不足,在此我们就要来学习C++中提供的string类,string是用来管理字符串的类,能实现多种对字符串的操作并且在使用时不用我们显示的去扩容。接下来就开始本篇的学习吧!原创 2024-10-03 21:52:51 · 2185 阅读 · 103 评论 -
STL简介
在了解了C++中的类和对象以及内存管理基本的知识后接下来我们将进入STL的学习,在此我们在本篇会先了解STL的由来以及大致了解STL的组成,接下来在之后的篇章中我将依次来学string、vector等,学习完STL之后相信你会进一步了解C++的魅力所在。接下来就开始STL初步的了解吧!原创 2024-09-21 23:44:18 · 1605 阅读 · 55 评论 -
C++模板初阶
在之前的代码实现当中当我们要让一个函数能处理不同类型的数据时就只能使用函数重载,并且在此数据的类型还必须是我们重载的函数内拥有的,否则就无法实现。在之前实现顺序表、链表等数据结构时我们使用的是typedef来重命名数据结构内的数据类型,这种方式其实是存在缺陷的,例如这种方法就无法让我们同时实例化出两个内部数据类型不相同的顺序表。那么为了解决以上这些问题在本篇当中我们就将初步学习了解模板的概念和使用,在此包括函数模板和类模板,通过使用模板我们以上的这些问题将迎刃而解,接下来解开始本篇的学习吧!原创 2024-09-20 23:36:08 · 1274 阅读 · 81 评论 -
C/C++内存管理
在之前的C语言的动态内存管理篇章中我们了解了C语言当中的相关内存函数malloc、calloc、realloc,了解了这些函数的使用方法以及各个内存函数之间的区别。在本篇中我们将继续来学习内存管理,并且还将了解两个C++中新的内存管理方式——使用new和delete操作符进行内存管理,接下来就开始本篇的学习吧!原创 2024-09-15 23:56:37 · 1872 阅读 · 83 评论 -
C++《类和对象》(下)
在之前类和对象(中)我们学习了类当中的6大默认成员函数,我们了解了6大成员函数的结构特征和特点以及在不同情况各个成员函数是如何调用的,那么接下来我们在本篇当中将继续学习之前在学习构造函数中未了解的初始化列表,并且另外还要学习类和对象当中支持的支持的一些功能:类型转换、友元、static成员和函数、内部类和匿名对象。接下来开始本篇的学习吧!原创 2024-09-14 23:58:42 · 1592 阅读 · 40 评论 -
C++《类和对象》(中)
中我们初步了解了类的相关概念,学习了类的定义和类的实例化等,在本篇中我们将进行学习类的相关知识,将会学习到类当中的6大默认成员函数,以及结合相关的知识实现一个日期类,接下来就开始本篇的学习吧!原创 2024-08-29 23:23:16 · 1610 阅读 · 43 评论 -
C++《类和对象》(上)
类和对象时之后我们更加深入学习C++所必须要学习的,可见其重要性,这其中有一些内容是难以理解的,需要我们花较为多的时间和精力,一起加油吧!等,接下来在本篇中我们将开始C++整个体系中非常重要的一个知识章节——中我们了解了C++的发展过程已经重要性,还初步了解了。原创 2024-08-11 23:55:14 · 1623 阅读 · 114 评论 -
C++入门基础知识
的相关知识,现在已经有了一定的代码能力和对数据结构也有了基础的认识,接下来我们将进入到新的专题当中,这个专题就是C++。在C++中我们需要花费更大的精力和更长的时间去学习这门建立在C语言基础之上的计算机语言,相信通过接下C++的学习能让我们对计算机有更深入的了解。在本篇中将会介绍C++这门语言的由来和重要性以及了解在C语言中不存在但在C++中特有的基础知识点,一起加油吧!原创 2024-08-07 01:35:51 · 1348 阅读 · 75 评论
分享