容器的定义
一个容器就是一些特定类型对象的集合。
顺序容器
顺序容器为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。
常见顺序容器的类型
vector
可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢。
list
双向链表。只支持双向顺序访问。在list中任何位置进行插入/删除操作速度都很快。
forward_list
单向链表。只支持单向顺序访问。在链表任何位置进行插入/删除操作速度都很快。
deque
双端队列。支持快速随机访问。在头尾位置插入/删除速度很快。
array
固定大小数组。支持快速随机访问。不能添加或删除元素。
string
与vector相似的容器,但专门用于保存字符。随机访问快。在尾部插入/删除速度快。
vector的示例
定义一个结构体
//定义一个激光雷达识别到的物体框
struct Object{
int x; //物体框的中心x坐标
int y; //物体框的中心y坐标
int z; //物体框的中心z坐标
int l; //物体框长度
int w; //物体框的宽度
int h; //物体框的高度
}
定义一个vector容器
//用于装识别到的物体框
vector<Object> boxs;
向容器中添加元素
//定义一个Object类型的结构体
Object objectCar;
//赋值
objectCar.x = 2;
objectCar.y = 5;
objectCar.z = 6;
objectCar.l = 5;
objectCar.w = 4;
objectCar.h = 1;
//在vector容器尾部插入一个元素
boxs.push_back(objectCar);
//显示vector容器中元素的数目
int num = boxs.size();
——————
2021.11.23
软件园