六一的部落格


关关难过关关过,前路漫漫亦灿灿。



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个元素

顺序容器操作: 设置容器大小


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个元素