resize的作用
设置容器元素个数和初始值。
resize和reserve
resize即改变容器元素个数,也改变容器容量。
reserve只改变容器容量,不改变容器元素个数。
reserve有什么用
reserve---存储,容量,保留。
1,设置容器容量(提前分配内存);
2,如果容器需要存储很多元素,提前指定开辟内存再存储数据可以提高存储效率;
链接
reserve分配的多余内存能否利用下标指定存储元素
不能。
原因:
vec[5]的本质是*(vec.begin() + 5),也就是对地址取值。
vec[5]=11是先对指定的地址取值之后向这块地址重新复制。(地址的值,等于11)
而reserve只是给容器分配了内存,不存储值,所以获取错误。
reserve跨过一段距离距离存储数据会怎样
不允许不适用中间内存。
resize会改变原有的值吗
resize指定的元素数量小于原有的元素数量
删除多余的元素。
resize指定的元素数量大于原有的元素数量
保留原有元素,多余补0或者空。
resize更多元素会改变原有元素吗
不会,只会在原有元素基础上增加新的元素。
resize是在原有元素的基础上改变容器元素。