顺序容器操作: 设置容器大小
2023年12月23日 2023年12月23日
resize
顺序容器 | 支持设置容器大小 |
---|---|
array | X |
vector(string) | O |
deque | O |
list | O |
forward_list | O |
增加或减小容器大小
如果是减小,容器后部的元素被删除; 如果是增加,将新元素添加到容器后部
容器容量有可能会增加, 但不会减少
1c.resize(n); 2 3c.resize(n, t); // 新添加的元素初始化为t
容器容量和容器大小
容器容量好比杯子的容量, 能装多少水
capacity
容器大小即容器中元素的个数, 类似杯子里水的多少
size
减小容器大小时
指向被删除元素的迭代器、引用和指针都会失效
增加容器大小时
对新元素进行值初始化. 如果是类对象, 要求有默认构造函数, 或者给出初始值
示例
1list<int> ilist(10, 42); 2 3ilist.resize(15); // 加5个0 4 5ilist.resize(25, -1); // 加10个-1 6 7ilist.resize(5); // 只保留5个元素,删除末尾的20个元素