技术栈
stl
DDDDDDDRDDR
17 小时前
开发语言
·
c++
·
stl
C++容器:list
list文档list是双向带头链表注意:在阅读list文档时会发现list有自己sort函数因为list的迭代器属于双向迭代器,而std算法库里的sort是使用随机迭代器的,所以list不适合用std算法库里的sort。但是list的sort底层是归并排序效率比不过算法库里的sort,如果遇到少量数据可以使用list的sort,遇到大量数据可以将list的数据放到vector中使用std算法库的sort排序。
序属秋秋秋
3 天前
开发语言
·
c++
·
笔记
·
leetcode
·
stl
·
set
·
map
《C++进阶之STL》【set/map 使用介绍】
往期《C++初阶》回顾:《C++初阶》目录导航往期《C++进阶》回顾: /------------ 继承多态 ------------/ 【普通类/模板类的继承 + 父类&子类的转换 + 继承的作用域 + 子类的默认成员函数】 【final + 继承与友元 + 继承与静态成员 + 继承模型 + 继承和组合】 【多态:概念 + 实现 + 拓展 + 原理】 /------------ STL ------------/ 【二叉搜索树】 【AVL树】 【红黑树】
序属秋秋秋
9 天前
开发语言
·
数据结构
·
c++
·
笔记
·
学习
·
stl
《C++进阶之STL》【红黑树】
往期《C++初阶》回顾:《C++初阶》目录导航往期《C++进阶》回顾: /------------ 继承多态 ------------/ 【普通类/模板类的继承 + 父类&子类的转换 + 继承的作用域 + 子类的默认成员函数】 【final + 继承与友元 + 继承与静态成员 + 继承模型 + 继承和组合】 【多态:概念 + 实现 + 拓展 + 原理】 /------------ STL ------------/ 【二叉搜索树】 【AVL树】
一匹电信狗
9 天前
服务器
·
开发语言
·
c++
·
leetcode
·
小程序
·
stl
·
visual studio
【C++】C++11新特性第一弹(列表初始化、新式声明、范围for和STL中的变化)
有梦想的电信狗在经历了漫长的发展历程后,C++11 终于在 2011 年横空出世。它不仅是对 C++98/03 的修补和扩展,更像是一次脱胎换骨的升级,被很多开发者称为“现代 C++ 的起点”。
大龄门外汉
12 天前
c++
·
笔记
·
学习
·
stl
·
set
·
map
·
改行学it
CPP学习之map和set
在之前博客中我们提到过序列式容器:vector, list, deque, forward_list等,其底层都是线性数据结构。 关联式容器存储的是键值对–<key, value>,与序列式容器仅存储值–key不一样,在数据检索时比序列式容器效率更高。
序属秋秋秋
12 天前
数据结构
·
c++
·
笔记
·
算法
·
stl
·
avl树
《C++进阶之STL》【AVL树】
往期《C++初阶》回顾:《C++初阶》目录导航往期《C++进阶》回顾: /------------ 继承多态 ------------/ 【普通类/模板类的继承 + 父类&子类的转换 + 继承的作用域 + 子类的默认成员函数】 【final + 继承与友元 + 继承与静态成员 + 继承模型 + 继承和组合】 【多态:概念 + 实现 + 拓展 + 原理】 /------------ STL ------------/ 【二叉搜索树】
九离十
15 天前
开发语言
·
c++
·
stl
STL——vector的使用(快速入门详细)
前言一、基本知识二、使用2.1vector定义2.2迭代器2.3空间管理2.4增删查改2.4.1尾插尾删
jdlxx_dongfangxing
18 天前
c++
·
stl
C++ 序列式容器深度解析:vector、string、deque 与 list
在 C++ 标准模板库(STL)中,容器是存储和管理数据的核心组件,而序列式容器作为其中的重要分支,以元素的插入顺序作为核心组织逻辑,而非元素的值。这种特性使得序列式容器在需要维持数据顺序的场景中不可或缺。本文将深入解析四种常用的序列式容器 ——vector、string、deque 和 list,探讨它们的底层特性、核心能力及标准用法,帮助开发者在不同场景下做出最优选择。
阿巴~阿巴~
24 天前
开发语言
·
c++
·
链表
·
stl
·
list
深入解析C++ STL链表(List)模拟实现
目录一、需要实现的三个类及其成员函数接口二、结点类的模拟实现构造函数三、迭代器类的模拟实现1、迭代器类的作用
郝学胜-神的一滴
24 天前
开发语言
·
c++
·
程序人生
·
正则表达式
·
stl
基于C++的词法分析器:使用正则表达式的实现
词法分析器是编译器的重要组成部分,负责将源代码分解为有意义的记号(tokens),供后续的语法分析和代码生成使用。在C++中,利用正则表达式可以方便地实现词法分析器。本文将详细介绍如何基于C++和正则表达式构建一个词法分析器,包括基本原理、实现步骤以及代码示例。
一匹电信狗
25 天前
服务器
·
c++
·
算法
·
leetcode
·
小程序
·
stl
·
visual studio
【C++】异常详解(万字解读)
有梦想的电信狗在 C++ 学习的过程中,异常(Exception) 是一个既重要又常常被忽视的知识点。很多初学者更习惯使用 错误码 或者 断言 来处理问题,却很少系统地去理解和使用异常机制。事实上,异常的设计初衷,就是为了解决 C 语言时代“错误处理困难、代码可读性差”的痛点。
Hard but lovely
25 天前
开发语言
·
c++
·
stl
·
list
C++:stl-> list的模拟实现
前言: 要理解list,其实它这个容器对应的数据结构就是双链表。这是库里的原话哦,所以接下来的实现呢,你尽可能把思路向双链表靠,你会轻松很多! 只不过,我们引入泛型编程,会有模板类的实现,以及一些细节,链表的特征就是: 节点之间在内存上不是连续的而是通过指针指向前后节点。 这也就导致了它的迭代器跟之前我们学的vector和string的迭代器是不同的!
_poplar_
1 个月前
c语言
·
开发语言
·
数据结构
·
c++
·
git
·
算法
·
stl
09 【C++ 初阶】C/C++内存管理
通过00【C++ 入门基础】前言得知,C++是为了解决C语言在面对大型项目的局限而诞生:C语言面对的现实工程问题(复杂性、可维护性、可扩展性、安全性)
半桔
1 个月前
java
·
开发语言
·
c++
·
容器
·
stl
【STL源码剖析】从源码看 vector:底层扩容逻辑与内存复用机制
引用侯捷所著《STL源码剖析》(2002,华中科技大学出版社)前言内容: 人们常说,不要从轮子重新造起,要站在巨人的肩膀上,面对扮演轮子角色的这些STL组件,我们是否有必要深究其设计原理或实现细节呢?答案固人而异。从应用的角度思考,你不需要探索实现细节一一然而相当程度地认识底层实现,对实际运用绝对有帮助,从技术研究与本质提升的角度看,深究细节可以让你得族掌握一切一不论是为了重温数据结构和算法,或是为了扮演轮子角色,或是想要进一步扩张别人的轮子,都帮可因此获得深厚扎实的基础:天下大事,必作于细!参观飞机工厂
乌萨奇也要立志学C++
1 个月前
开发语言
·
c++
·
stl
【C++详解】STL-set和map的介绍和使用样例、pair类型介绍、序列式容器和关联式容器
前⾯我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间⼀般没有紧密的关联关系,⽐如交换⼀下,他依旧是序列式容器。顺序容器中的元素是按他们在容器中的存储位置来顺序保存和访问的。 关联式容器也是⽤来存储数据的,与序列式容器不同的是,关联式容器逻辑结构通常是⾮线性结构,两个位置有紧密的关联关系,交换⼀下,他的存储结构就被破坏了。顺序容器中的元素是按关键字来保
序属秋秋秋
1 个月前
开发语言
·
c++
·
笔记
·
学习
·
stl
《C++初阶之STL》【模板参数 + 模板特化 + 分离编译】
往期《C++初阶》回顾:/------------ 入门基础 ------------/ 【C++的前世今生】 【命名空间 + 输入&输出 + 缺省参数 + 函数重载】 【普通引用 + 常量引用 + 内联函数 + nullptr】 /------------ 类和对象 ------------/ 【类 + 类域 + 访问限定符 + 对象的大小 + this指针】 【类的六大默认成员函数】 【初始化列表 + 自定义类型转换 + static成员】 【友元 + 内部类 + 匿名对象】 【经典案例:日期类】 /
Layflok
1 个月前
开发语言
·
c++
·
stl
《黑马笔记》 --- C++ 提高编程
生活中的模板:一寸照片模板,ppt模板,还有求职过程中的简历模板,这可以帮我们在生活中方便很多,C++也是如此。
一匹电信狗
1 个月前
c语言
·
数据结构
·
c++
·
算法
·
leetcode
·
stl
·
visual studio
【C++】手搓一个STL风格的vector容器
@TOC(手搓一个STL风格的vector容器)有梦想的电信狗在C++标准库中,vector容器作为最核心的序列式容器,其设计融合了动态数组的高效性与安全性。本文将通过完整实现一个简化版vector容器,重点剖析迭代器失效、深拷贝控制、动态扩容等关键问题。代码实现将保持与STL兼容的接口设计。
序属秋秋秋
2 个月前
开发语言
·
c++
·
笔记
·
学习
·
stl
《C++初阶之STL》【vector容器:详解 + 实现】
往期《C++初阶》回顾:/------------ 入门基础 ------------/ 【C++的前世今生】 【命名空间 + 输入&输出 + 缺省参数 + 函数重载】 【普通引用 + 常量引用 + 内联函数 + nullptr】 /------------ 类和对象 ------------/ 【类 + 类域 + 访问限定符 + 对象的大小 + this指针】 【类的六大默认成员函数】 【初始化列表 + 自定义类型转换 + static成员】 【友元 + 内部类 + 匿名对象】 【经典案例:日期类】 /
Sagittarius_A*
2 个月前
c++
·
学习
·
算法
·
stl
【C++】标准模板库(STL)—— 学习算法的利器
STL(Standard Template Library,标准模板库)是 C++ 标准库的重要组成部分,包含丰富的数据结构和算法,是现代 C++ 编程中必不可少的工具。本文将介绍 STL 的基本组成、学习重点以及学习 STL 前应具备的先修知识和学习路线,帮助你系统高效地掌握 STL。