【C++】Vector的resize和reserve有什么区别?(约154字)

resize

resize(n)会改变vector的大小,使其包含n个元素。如果n大于当前的大小,那么新的元素会被添加到vector的末尾,如果n小于当前的大小,那么末尾的元素会被删除。resize会改变vector的size()。

reserve

reserve(n)不会改变vector的大小,它只是预先分配足够的内存,以便在未来可以容纳n个元素。reserve不会改变vector的size(),但可能会改变capacity()。reserve的主要目的是为了优化性能,避免在添加元素时频繁进行内存分配。简单来说,resize改变的是vector中元素的数量,而reserve改变的是vector的内存容量。

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容