C++ STL
文章平均质量分 82
----
xinruoqianqiu
虽然从事工作好多年了,但感觉自己还是个菜鸟,从基础做起,做大做强。
展开
-
C++之string
char*的字符串、C++标准程序库中的区别:string类不必担心内存是否足够、字符串长度等等,而且作为一个泛型类出现,集成的操作函数足以完成大多数情况下的需要。C++中对于strinig的定义为:typedef basic_string string;也就是说C++中的string类是一个,由模板而实例化的一个标准类,本质上不是一个标准数据类型。使用string类必须包含头文件:#include <string>原创 2024-03-10 21:46:42 · 1029 阅读 · 1 评论 -
C++之set、multiset
是一种关联式容器,包含的key值唯一,所有元素都会在插入时自动被排序,其为红黑树。set只能通过迭代器(iterator)访问。set和multiset的区别:(1)set不允许容器中有重复的元素;(2)multiset允许容器中有重复的元素。原创 2024-03-02 17:39:50 · 413 阅读 · 0 评论 -
C++之stack
stack是实现的一个先进后出,后进先出的容器。它只有一个出口,只能操作最顶端元素。原创 2024-03-02 21:15:25 · 251 阅读 · 0 评论 -
C++之map
map是C++ STL的一个关联容器,它提供一对一的数据处理能力。其中,各个键值对的键和值可以是任意数据类型,包括 C++ 基本数据类型(int、double 等)、使用结构体或类自定义的类型。第一个可以称为关键字(key);第二个可能称为该关键字的值(value);使用 map 容器存储的各个键值对,键的值既不能重复也不能被修改。换句话说,map 容器中存储的各个键值对不仅键的值独一无二,键的类型也会用 const 修饰,这意味着只要键值对被存储到 map 容器中,其键的值将不能再做任何修改。原创 2024-03-02 00:12:44 · 2050 阅读 · 0 评论 -
C++之vector
功能:vector的功能和数组非常相似,可以看成是一个升级版的数组。vector和普通数组的区别:(1)数组是静态的,长度不可改变,而vector可以动态扩展,增加长度。(2)数组内数据通常存储在栈上,而vector中数据存储在堆上。动态扩展并不是在原空间之后续接新空间,而是找到比原来更大的内存空间,将原数据拷贝到新空间,释放原空间。原创 2024-02-27 22:45:00 · 1482 阅读 · 1 评论 -
C++之list
vector: 指一个数组(1)支持快速随机访问,即下标运算;(2)尾添加,不申请空间的情况下非常快;(3)插入和删除比较慢。list: 指一个链表(1)随机访问慢,也支持下标;(2)支持快速插入和删除。原创 2024-03-03 08:00:00 · 456 阅读 · 1 评论 -
C++之queue和deque
queue(队列),一种数据结构,可以让某些数据结构的操作变得简单。队列(queue)最大的特点就是先进先出。就是说先放入queue容器的元素一定是要先出队列之后,比它后进入队列的元素才能够出队列。函数:(1)back()//返回队列中最后一个元素(2)empty()//判断队列是否为空(3)front()//返回队列中的第一个元素(4)pop()//删除队列的第一个元素(5)push()//在队列末尾加入一个元素(6)size()//返回队列中元素的个数。原创 2024-02-28 23:00:00 · 851 阅读 · 0 评论