随笔分类 -  【18】STL

摘要:序列容器: 容器: array、vector、list、deque、forward_list 特点: 存储的都是基本数据类型,int\double\float\string等,或者结构体自定义类型 关联容器: 容器: map、set、multimap、multiset 特点: 键值对(key_val 阅读全文
posted @ 2020-11-12 11:14 欧阳图图的少年成长记 阅读(121) 评论(0) 推荐(0)
摘要:list: 底层实现为双向链表 1、基本用法 #include <iostream> #include <list> using namespace std; // list:双向链表 void ShowPrint(list<int> d) { for (list<int>::iterator it 阅读全文
posted @ 2020-11-12 10:17 欧阳图图的少年成长记 阅读(80) 评论(0) 推荐(0)
摘要:1.实现原理 vector : 采用的是连续的线性空间deque : 存储的空间是由一段一段等长的连续空间构成,各段空间之间并不一定是连续的,可以位于在内存的不同 为管理这些连续的空间,deque容器用数组存储着各个连续空间的地址,即数组中存储的都是指针,由于 deque 容器底层将序列中的元素分别 阅读全文
posted @ 2020-11-11 17:16 欧阳图图的少年成长记 阅读(149) 评论(0) 推荐(0)
摘要:array:静态数组,容量固定的数组 vector:动态数组,可以进行插入和删除(向量容器) 初始化 (1) vector<double> val; 容器内没有元素,当添加第一个元素时,vector会自动分配内存(2) vector<int> val{2,23,21,26,8}; 在创建的同时指定初 阅读全文
posted @ 2020-11-10 15:00 欧阳图图的少年成长记 阅读(104) 评论(0) 推荐(0)
摘要:初始化 1. std::array<double,10> arr; 创建10个浮点型元素,但是未显示指定10个元素的值,因此各个元素的值是不确定的,array容器是不会做默认初始化操作 2. std::array<double,10> arr{}; 所有元素默认初始化为0.0 3. std::arr 阅读全文
posted @ 2020-11-10 14:13 欧阳图图的少年成长记 阅读(159) 评论(0) 推荐(0)
摘要:序列容器失效 vector、deque、 因为使用了连续分配的内存,删除一个元素导致后面的元素会向前移动一个位置,iter++后,指向的是未知的内存,但是erase方法可以返回下一个有效的iterator [lzw1053@qtz94 ~/test_lzw/c++]$ vim z #include 阅读全文
posted @ 2020-09-16 11:51 欧阳图图的少年成长记 阅读(171) 评论(0) 推荐(0)
摘要:类模板与模板类 类模板: 重点是模板,表示的是一个模板,专门产生类的模子 格式:template <typename T>class TEST{...};使用这个模板可以产生很多类,TEST<int>、TEST<char> 模板类: 重点是类,由一个模板生成而来的类 格式:template <cla 阅读全文
posted @ 2020-09-08 17:23 欧阳图图的少年成长记 阅读(543) 评论(0) 推荐(0)