本文系统性地介绍了基于红黑树的关联容器实现过程,详细阐述了红黑树节点结构、迭代器设计、平衡调整算法等核心组件的开发,重点分析了map和set容器的封装技术及关键...
二叉搜索树(BST)是一种重要的数据结构,它通过"左子树所有节点值小于根节点,右子树所有节点值大于根节点"的特性实现高效的元素组织。本文详细解析了BST的核心概...
在 STL 的容器家族里,deque(双端队列)就像一个“全能型选手”。它既能像 vector 一样支持随机访问,又能像 list 一样在两端高效插入删除。虽然...
priority_queue 是 C++ STL 中的重要容器适配器,它通过堆结构维护元素的优先级,使得每次访问和删除的都是当前优先级最高的元素。本文从 pri...
不是呆头将在本文详细讲解了C++ STL 中 stack(栈) 和 queue(队列) 的模拟实现:
💡 收获预期: ✔ 写出更健壮的C++代码 ✔ 深入理解面向对象设计 ✔ 掌握模板编程基础 📌 编程箴言: “好的C++代码就像好酒,需要时间沉淀...
让我们如上图的构造进行解释: explicit list(const allocator_type& alloc = allocator_type())...
构造函数设置为缺省参数,若不传入参数,则默认构造为空字符串。字符串的初始大小和容量均设置为传入C字符串的长度(不包括’\0’)
STL(standard template libaray-标准模板库):是c++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包含数据结构与算法的...
同样,现在我们是读不懂大部分源码的。还是跳着看,看看部分模块功能,重要的底层变量,不去深究
C语言数据结构中我们就学习过链表, 链表又分为单链表和双链表。这里我们主要讲双链表
在实现vector之前,我们先看看它的源码。很大部分我们都看不懂,直接看是看不懂的。所以主要看关键词和模块的功能,不追求每个都看懂。
(1) 构造函数的参数是内存池,我们日常不需要理会,除非你要用自己的内存池,这就是默认构造,explicit修饰,说明该函数不支持隐式类型转换。
STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的 组件库,而且是一个包罗数据结构与算法...
程序运行时的内存分区(栈、堆、数据段 / 静态区、代码段 / 常量区),本质是操作系统和编译器为了适配不同数据的特性(生命周期、访问频率、可修改性、分配方式...
往期《C++进阶》回顾: /------------ 继承多态 ------------/ 【普通类/模板类的继承 + 父类&子类的转换 + 继承的作用域...