vector的resize:既分配了空间,也创建了对象,会调用构造函数
vector的reserve:reserve()表示容器预留空间,但不是真正的创建对象,需要通过insert()或push_back()等操作创建对象
reserve()只修改capacity大小,不修改size大小,
resize()既修改capacity大小,也修改size大小。
因此,在只需要足够的空间而不需要生成对象时(通常是为了节约插入元素的时间),应该选择reserve方法。
C++ STL vector预分配空间——resize和reserve
最新推荐文章于 2026-04-03 20:44:18 发布
本文详细解析了STL中vector容器的resize与reserve方法的区别。resize方法不仅分配空间,还会创建对象并调用构造函数,同时修改容量与大小;而reserve仅预留空间,不创建对象,适用于只需预分配内存而无需立即初始化元素的场景。
252

被折叠的 条评论
为什么被折叠?



