vector向量reserve和resize的区别

【vector向量reserve和resize的区别】C++11
方式/
1挪用reserve函数增添capacity容量, 而size的大小是没有改变的(capacity是指vector当前能容纳的最多元素的大小, 而size是指vector当前持有的元素的大小)

vector向量reserve和resize的区别



2挪用函数reserve的前后输出日记信息, capacity容量增添, size的大小前后连结不变

vector向量reserve和resize的区别



3挪用resize函数既增添capacity容量, 又增添size的大小

vector向量reserve和resize的区别



4从输出前后日记看, 挪用resize之后, capacity和size的大小确实都增添

vector向量reserve和resize的区别



5reserve只是预留空间, 不成以用at或者[]拜候元素, 不然会呈现段错误

vector向量reserve和resize的区别



6程序运行之后, 节制台提醒了如下所示的错误, 然后程序异常退出

vector向量reserve和resize的区别



7挪用reserve申请的内存, 只能采用push_back添加元素到预留空间

vector向量reserve和resize的区别



8resize改变容器大小, 而且建立对象, 并且可以或许利用at或者[]拜候元素

vector向量reserve和resize的区别



9resize改变容器大小, 当采用push_back添加元素的时辰, 是增添到新的空间

vector向量reserve和resize的区别



10从输出的信息看, size在本来的根本上增添了一个元素, capacity在本来的根本上增添了一倍

vector向量reserve和resize的区别




以上内容就是vector向量reserve和resize的区别的内容啦, 希望对你有所帮助哦!

    猜你喜欢