STL
和平精英总指挥
学材料的柱子
展开
-
String类
构造1.无参构造2.用C-string来构造(char*)3.拷贝构造4.重载操作符 =5.string(size_t n, char c) string类对象中包含n个字符c //无参构造 string str; cout << str << endl; cout << string("hello world") << end...原创 2019-11-30 19:32:48 · 133 阅读 · 0 评论 -
vector 中的erase 和 insert
erase和insert的返回值都是迭代器erase会返回删除元素的下一个元素的迭代器 当erase(迭代器it)后 it能再使用(被删除了) 因此在使用erase是要记录返回迭代器的位置 it = erase(迭代器it)erase()参数也可以为两个相同类型的迭代器 ,删除两个迭代器中的所以元素,并返回最后一个删除元素的下一个元素的迭代器insert 和erase类似 ,只是返回的是插...原创 2019-11-29 15:50:24 · 858 阅读 · 0 评论 -
map容器的简单用法
map是按关键字顺序来存储数据 因此关键字不能重复不能直接修改 map 容器中的关键字。因为 map 中的元素是按照关键字排序的,添加元素方法有insert(make_pair(T1,T2) 和 [ ]insert函数返回类型为pair<map类型迭代器,bool> 迭代器指向插入的建值的位置 成功bool为true 失败为false(若map已有这个建值 则失败)map的成员...原创 2019-11-27 21:08:32 · 171 阅读 · 0 评论 -
函数对象
定义如果一个类将()运算符重载为成员函数,这个类就称为函数对象类,这个类的对象就是函数对象。函数对象是一个对象,但是使用的形式看起来像函数调用,实际上也执行了函数调用,因而得名。函数对象应用实例#include <iostream>#include <vector>#include <numeric> //accumulate 在此头文件定义usin...原创 2019-11-17 11:10:12 · 165 阅读 · 0 评论 -
vector list deque容器
vectorvector 是顺序容器的一种。vector 是可变长的动态数组,支持随机访问迭代器,所有 STL 算法都能对 vector 进行操作、vector 容器在实现时,动态分配的存储空间一般都大于存放元素所需的空间。例如,哪怕容器中只有一个元素,也会分配 32 个元素的存储空间。这样做的好处是,在尾部添加一个新元素时不必重新分配空间,直接将新元素写入适当位置即可。在这种情况下,添加新元...原创 2019-11-17 08:50:39 · 62 阅读 · 0 评论 -
迭代器
正向迭代器,定义方法如下:(用于begin end等)容器类名::iterator 迭代器名;常量正向迭代器,定义方法如下:容器类名::const_iterator 迭代器名;反向迭代器,定义方法如下:(用于rebegin reend等)容器类名::reverse_iterator 迭代器名;常量反向迭代器,定义方法如下:容器类名::const_reverse_...原创 2019-11-15 10:52:38 · 409 阅读 · 0 评论 -
C++容器
容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在 STL 中都被实现为容器。程序员使用容器时,即将容器类模板实例化为容器类时,会指明容器中存放的元素是什么类型的。容器中可以存放基本类型的变量,也可以存放对象。对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品。STL 中的许多算法(即函数模板),如排序、查找等算法,在执行过程中会对...原创 2019-11-14 12:03:49 · 167 阅读 · 0 评论