本文主要是介绍STL----resize,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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是在原有元素的基础上改变容器元素。
这篇关于STL----resize的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!