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是在原有元素的基礎上改變容器元素。