首页 > 学院 > 开发设计 > 正文

顺序容器

2019-11-08 03:20:06
字体:
来源:转载
供稿:网友

顺序容器类型:

tip:通常使用vector是最好的选择。

这里写图片描述


容器操作:

这里写图片描述

这里写图片描述


容器定义和初始化:

这里写图片描述

当将一个容器初始化为另一个容器的拷贝时,两个容器的容器类型和元素类型都必须相同。当传递迭代器参数来拷贝一个范围,就不要求容器类型是相同的,

这里写图片描述


容器赋值运算:

这里写图片描述


向顺序容器添加元素:

这里写图片描述

使用emplace操作:

当我们调用push或insert成员函数时,我们将元素类型的对象传递给它们,这些对象被拷贝到容器中。而当我们调用一个emplace成员函数时,是将参数传递给元素类型的构造函数。emplace成员使用这些参数在容器管理的内存空间中直接构造元素。

这里写图片描述

Note: emplace 函数在容器中直接构造元素。传递给emplace函数的参数必须与元素类型的构造函数相匹配。


在顺序容器中访问元素的操作:

Note:在容器访问元素的成员函数返回都是引用。如果容器是一个const对象,则返回值是const的引用。如果容器不是const,则返回值是普通引用。

这里写图片描述


删除元素:

删除元素的成员函数并不检查其参数。在删除元素之前,程序员必须确保它们是存在的。

这里写图片描述

特殊的forward_list操作:

这里写图片描述

这里写图片描述


改变容器的大小:

这里写图片描述

Note: 由于向迭代器添加元素和从迭代器删除元素的代码可能会使迭代器失效,因此必须保证每次改变容器的操作之后都正确地重新定位迭代器。对于vector,string,deque尤其注意。

这里写图片描述

如果在一个循环中插入/删除deque,string或vector中的元素,不要缓存end返回的迭代器。


管理容量的成员函数:

这里写图片描述


额外的string操作:

这里写图片描述

这里写图片描述


修改string的操作:

这里写图片描述

string搜索操作:

每个搜索操作都返回一个string::size_type值,表示匹配发生位置的下标。如果搜索失败,则返回一个名为string::npos的static成员。其为const string::size_type类型,初始值为-1。由于npos是一个unsigned类型,此初始值意味着npos等于任何string最大的可能大小。

这里写图片描述

这里写图片描述


compare函数:

这里写图片描述

数值转换:

这里写图片描述


容器适配器:

所有容器适配器都支持的操作和类型:

这里写图片描述

栈适配器:

这里写图片描述

队列适配器:

这里写图片描述

这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表