c++中vector resize的用法是什么

c++
小億
271
2024-02-27 11:41:56

在C++中,vector的resize方法用于改變vector的大小。它有兩種用法:

  1. resize(n):將vector的大小更改為n,如果n大于vector當(dāng)前的大小,則在末尾添加默認(rèn)初始化的元素,如果n小于vector當(dāng)前的大小,則刪除多余的元素。
std::vector<int> v = {1, 2, 3};
v.resize(5); // 現(xiàn)在v的大小為5,新增的元素為0
v.resize(2); // 現(xiàn)在v的大小為2,多余的元素被刪除
  1. resize(n, val):將vector的大小更改為n,如果n大于vector當(dāng)前的大小,則在末尾添加值為val的元素,如果n小于vector當(dāng)前的大小,則刪除多余的元素。
std::vector<int> v = {1, 2, 3};
v.resize(5, 0); // 現(xiàn)在v的大小為5,新增的元素為0
v.resize(2, 0); // 現(xiàn)在v的大小為2,多余的元素被刪除

需要注意的是,resize方法會(huì)修改vector的大小,可能會(huì)導(dǎo)致元素的拷貝和重新分配內(nèi)存,因此在使用resize方法時(shí)需要謹(jǐn)慎考慮性能開(kāi)銷(xiāo)。

0