顺序容器概述



关于容器关系运算符的使用
关系运算符左右两边的运算对象必须是相同类型的容器,且必须保存相同类型的元素。
两个vector的capacity不会影响相等性的判定
vector<int> ivec = {1,2,3,4,5,6,7};
vector<int> ivec1 = {1,2,3,4,5,6,7};
//ivec1添加、删除元素导致扩容,但是二者仍然相等
ivec1.push_back(8); //末尾加入一个元素8
ivec1.pop_back(); //在ivec1的末尾删除一个元素
向顺序容器中添加元素的操作

emplace操作:当调用push和insert成员函数时,我们将元素类型的对象传递给它们,这些对象被拷贝到容器中。而当我们调用一个emplace成员函数时,则是将参数传递给元素类型的构造函数。emplace函数在容器中直接构造元素。传递给emplace函数的参数必须与元素类型的构造函数匹配。
访问元素

删除元素

特殊的forward_list操作

改变容器大小

管理容量的成员函数

一个vector的capacity和size有何区别
capacity返回已经为vector分配了多大内存空间(单位是元素大小),也就是在不分配新空间的情况下,容器可以保存多少个新元素。而size则返回容器当前已经保存了多少个元素。
额外的string操作

假设希望每次读取一个字符存入一个string中,而且知道最少读取100个字符,如何提高程序性能?
关键:使用reserve先为string分配100个字符的空间。
修改string的操作


string搜索操作


compare函数

数值转换

容器适配器支持的操作和类型




本文详细介绍了顺序容器的关系运算符使用规则,强调了容器类型和元素类型的一致性。阐述了vector的capacity和size的区别,以及如何通过reserve预分配内存来优化string性能。同时,讲解了emplace操作与push和insert的不同,以及访问、删除元素和改变容器大小的方法。

被折叠的 条评论
为什么被折叠?



