在C++中,vector的resize方法用于改变vector的大小。它有两种用法:
- resize(n):将vector的大小更改为n,如果n大于vector当前的大小,则在末尾添加默认初始化的元素,如果n小于vector当前的大小,则删除多余的元素。
std::vectorv = {1, 2, 3}; v.resize(5); // 现在v的大小为5,新增的元素为0 v.resize(2); // 现在v的大小为2,多余的元素被删除
- resize(n, val):将vector的大小更改为n,如果n大于vector当前的大小,则在末尾添加值为val的元素,如果n小于vector当前的大小,则删除多余的元素。
std::vectorv = {1, 2, 3}; v.resize(5, 0); // 现在v的大小为5,新增的元素为0 v.resize(2, 0); // 现在v的大小为2,多余的元素被删除
需要注意的是,resize方法会修改vector的大小,可能会导致元素的拷贝和重新分配内存,因此在使用resize方法时需要谨慎考虑性能开销。