欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

resize()和reserve()的区别

程序员文章站 2022-03-21 19:49:24
...

resize()改变了容器的大小。

void resize (size_type n);
void resize (size_type n, const value_type& val);

resize之后容器含有n个元素,创建了新对象,第二个参数是要添加的新元素。用operator[]操作符,或者用迭代器来引用元素对象。

reserve()改变了容器的预留控件,没有创建新对象。

void reserve (size_type n);

reserve之后还不能马上引用容器中的对象,需要使用insert()或者push_back()创建新的对象。