【C++游记】从0学会它
文章平均质量分 96
从0开始学cpp,开始就放弃?不可能,绝对不可能
枫の大一
小白可以蜕变成大佬,就像小树可以成长为参天大树
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++游记】C++11特性
《C++11新特性详解》是一篇系统介绍C++11标准核心特性的技术文章。文章从C++11的发展历史切入,重点讲解了列表初始化、右值引用与移动语义、可变参数模板、新的类功能、Lambda表达式等核心特性。作者通过丰富的代码示例,详细说明了统一初始化语法、移动构造与移动赋值、完美转发等关键技术点的实现原理和应用场景。文章还介绍了C++11在STL容器、算法以及函数式编程方面的改进,包括emplace系列接口、std::function包装器等实用工具。全文内容丰富,结构清晰,既适合初学者系统学习,也能帮助有经验原创 2025-09-24 20:48:07 · 965 阅读 · 0 评论 -
【C++游记】哈希表封装map与set
本文介绍了基于哈希表实现C++标准库容器unordered_set和unordered_map的方法。文章从SGI-STL源码分析入手,详细讲解了哈希表的核心结构、关键源码框架及模拟实现思路。重点阐述了哈希函数设计、键值提取机制、迭代器实现、动态扩容等关键技术点,并提供了完整的代码实现。通过对比unordered_set和unordered_map的不同实现方式,展示了如何复用同一个哈希表底层结构来支持不同容器特性。最后通过使用示例验证了容器的基本功能,总结了哈希表封装的设计思想和技术要点,为深入理解C++原创 2025-09-24 19:58:43 · 982 阅读 · 0 评论 -
【C++游记】Map与Set的封装
本文详细讲解了如何基于红黑树封装实现自定义的map和set容器。主要内容包括:1. 分析STL源码框架,理解map/set与红黑树的关系;2. 实现红黑树核心结构,包括节点定义、迭代器设计和插入操作;3. 通过仿函数KeyOfT解决数据比较时的key提取问题;4. 封装实现set,确保key不可修改;5. 封装实现map,支持[]运算符重载;6. 测试验证自定义容器的功能。文章通过清晰的代码示例和深入的技术解析,展示了STL关联式容器的底层实现原理,对理解C++标准库和数据结构有重要价值。原创 2025-09-16 21:21:27 · 762 阅读 · 0 评论 -
【C++游记】红黑树
红黑树是带颜色标识的二叉搜索树,通过颜色约束实现近似平衡,确保最长路径不超最短路径2倍。其规则为:节点非红即黑;根为黑;红节点子节点必为黑;任意节点到NULL路径黑节点数相同。效率上,增删查改时间复杂度为O(logN),插入旋转次数少于AVL树。实现方面,节点含键值对、左右子树、父节点及颜色。插入时按二叉搜索树规则进行,新增节点为红,根据父节点和叔叔节点情况,通过变色、单旋+变色、双旋+变色调整平衡。查找同二叉搜索树,时间复杂度O(logN)。验证需检查是否符合四条规则。总之,它是高效自平衡二叉搜索树,核心原创 2025-09-02 10:46:14 · 1305 阅读 · 14 评论 -
【C++游记】AVL树
本文介绍了AVL树的基本概念和实现方法。AVL树是一种自平衡二叉搜索树,通过平衡因子(右子树高度减左子树高度)确保左右子树高度差不超过1。文章详细讲解了AVL树的结构定义、插入操作(包括平衡因子更新规则)和四种旋转操作(左单旋、右单旋、左右双旋、右左双旋),提供了完整的C++实现代码。最后还介绍了平衡检测方法,通过计算子树高度差验证树的平衡性。AVL树通过严格的平衡控制,将操作时间复杂度保持在O(logN)。原创 2025-09-01 18:38:17 · 1235 阅读 · 6 评论 -
【C++游记】map和set
摘要: 本文介绍了C++中的STL容器,重点讲解了set和map系列的使用方法。set是一种基于红黑树实现的有序不重复容器,支持高效的增删查操作;map则是存储键值对的关联容器,同样基于红黑树实现。文章详细说明了它们的构造方式、迭代器使用、增删查操作,并提供了实际应用示例,如统计词频、解决链表问题等。同时比较了set与multiset、map与multimap的区别,展示了这些容器在算法题中的实际应用价值。原创 2025-09-01 10:41:20 · 1011 阅读 · 14 评论 -
【C++游记】二叉搜索树
这篇文章介绍了二叉搜索树(BST)的核心概念与实现方法。主要内容包括:1. BST的定义与特性(左小右大、递归结构);2. 性能分析,对比二分查找与BST的优劣;3. 核心操作(插入、查找、删除)的详细流程与示例;4. 基于C++的完整代码实现,包含节点类、BST类及关键方法;5. 删除操作的四种情况处理,特别是替换法删除的应用。文章采用通俗易懂的语言和图示,帮助读者理解BST的工作原理,并提供了可直接使用的代码模板。作者鼓励读者坚持学习,后续将介绍平衡二叉搜索树等进阶内容。原创 2025-08-29 15:26:57 · 1053 阅读 · 0 评论 -
【C++游记】物种多样——谓之多态
【摘要】本文介绍了C++多态的核心概念与实现机制,主要包括:1.多态分为编译时多态(函数重载/模板)和运行时多态(虚函数),重点讲解动态多态的实现条件(基类指针/引用+虚函数重写);2.详细解析虚函数、纯虚函数与抽象类的特性,强调基类析构函数设为虚函数的重要性;3.揭示多态底层原理(虚函数表vtable和虚表指针vptr);4.对比重载/重写/隐藏的差异,并附常见面试题解答。文章通过生活化案例和代码示例,帮助读者深入理解C++面向对象的核心特性。原创 2025-08-28 17:32:54 · 1650 阅读 · 15 评论 -
【C++游记】子承父业——乃继承也
本文以《C++游记》为主题,系统讲解了面向对象编程中继承的核心概念与应用。主要内容包括:1)继承的本质是代码复用,通过Person、Student、Teacher类示例演示了基类与派生类的关系;2)详解继承方式(public/protected/private)对访问权限的影响;3)剖析基类与派生类对象转换规则,强调"向上兼容"原则;4)解析同名成员隐藏规则及派生类默认成员函数的实现要点;5)针对菱形继承问题提出虚拟继承解决方案;6)对比继承与组合的适用场景,提倡"高内原创 2025-08-28 17:00:06 · 944 阅读 · 10 评论 -
【C++游记】模板升级
本文介绍了C++模板编程中的两个重要特性:非类型模板参数和模板特化。非类型模板参数允许使用编译期常量定制模板,适合创建固定大小容器;模板特化则解决通用模板不适用于特殊类型的问题,包括函数模板特化和类模板特化(全特化与偏特化)。文章通过具体代码示例展示了这些特性的应用场景和实现方法,如处理指针比较、定制容器大小等。作者建议在实际开发中优先使用普通函数重载替代简单函数模板特化,并强调了这些高级模板技术在编写高效、通用代码中的重要性。原创 2025-08-27 21:55:43 · 787 阅读 · 6 评论 -
【C++游记】栈vs队列vs优先级队列
栈是一种线性数据结构,其核心特性遵循 “后进先出(Last-In-First-Out,LIFO)” 原则——即最后加入栈的元素,会最先被取出。可以类比现实中的“堆叠物品”(如叠盘子、堆书):只能从顶部添加新物品,也只能从顶部拿走物品,无法直接操作中间或底部的物品。队列是一种线性数据结构,其核心特性遵循 “先进先出(First-In-First-Out,FIFO)” 原则——即最早加入队列的元素,会最先被取出。原创 2025-08-26 20:37:08 · 728 阅读 · 4 评论 -
【C++游记】List的使用和模拟实现
【C++学习笔记:list容器详解】本文系统讲解了C++中list容器的使用与实现。内容涵盖:1)list基础介绍与构造函数;2)迭代器使用及失效问题分析;3)完整list模拟实现代码(含节点结构、迭代器封装和核心功能);4)list与vector的底层结构、访问效率等对比;5)操作性能测试实例。通过西游记的学习比喻,以通俗易懂的方式解析list双向链表特性,特别强调迭代器失效机制和模拟实现细节,配有完整可测试代码,帮助读者深入理解STL容器设计思想。原创 2025-08-25 16:51:57 · 1278 阅读 · 15 评论 -
【C++游记】Vector的使用和模拟实现
构造函数声明接口说明vector()无参数构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去。原创 2024-12-15 15:14:05 · 1785 阅读 · 44 评论 -
【C++游记】string的使用和模拟实现
今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去~你们的三连就是小枫的动力,原创 2024-12-13 21:57:19 · 2542 阅读 · 44 评论 -
【C++游记】不允许你不会内存管理、模板、STL
今日C++到这里就结束啦,如果觉得文章还不错的话,可以三连支持一下。感兴趣的宝子们欢迎持续订阅小枫,小枫在这里宝子们啦~小枫の主页还有更多生动有趣的文章,欢迎宝子们去点评鸭~C++的学习很陡,时而巨难时而巨简单,希望宝子们和小枫一起坚持下去~你们的三连就是小枫的动力,原创 2024-12-01 21:41:26 · 1159 阅读 · 40 评论 -
【C++游记】类和对象下——构造函数还有你不知道的细节、静态成员、友元函数、编译器如何优化
【C++游记】构造函数还有你不知道的细节、静态成员、友元函数、编译器如何优化原创 2024-11-30 17:37:10 · 1956 阅读 · 43 评论 -
【C++游记】类和对象中
上节课学习了基础篇(包括函数重载、引用、inline、nullptr)and类和对象(上)(包括类的定义、实例化、this指针),忘记的宝子们可以去复习一下~~~枫の大一-优快云博客C++从零到满绩——入门基础and类和对象(上)-优快云博客跳转上篇枫の大一-优快云博客跳转个人主页查看今天我们来类和对象(中)(包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载)。需要注意的是今天我们学习的四个内容始终第一:我们不写时,编译器默认生成的函数行为是什么,是否满足我们的需求?原创 2024-11-24 12:05:32 · 1185 阅读 · 29 评论 -
【C++游记】类和对象上
上节课学习了命名空间、C++的第一个文件、输入输出流还有默认参数的概念和用法,中间因为学校的一些事情和比赛耽搁了一下更新,不好意思宝子们,小编在这说声抱歉。今天我们来学习基础篇(包括函数重载、引用、inline、nullptr)and类和对象(上)(包括类的定义、实例化、this指针话不多说,准备上高速。2>>函数重载C++支持同一个作用域(局部、全局、静态)出现同名函数。有三种情况:1.这些函数形参顺序不同。2.这些参数个数不同。3.这些参数类型不同。原创 2024-11-22 21:47:10 · 1073 阅读 · 20 评论 -
【C++游记】初识C++
数据结构初阶的内容已经全部更新完毕,还没看完的欢迎移步个人主页查看,数据结构进阶内容估计要等待到明年的寒假更新了,现在先重点更新C++的内容。从今天开始,小编将会带着大家从零追C++满绩,保底4-5个月更新完毕,希望大家能跟着小编持续学习,小编会一直分享干货和学习笔记祝大家学有所成。话不多说,准备上高速。另外:如果有觉得小编哪里需要改进的欢迎指出,做出完美的C++篇章肯定少不了各位精神股东的支持啦2>>C++的发展历史C++的起源非常早。从1979年开始,本贾尼。原创 2024-11-07 17:08:29 · 1704 阅读 · 24 评论
分享