溫馨提示×

c++ resize函數(shù)有哪些用法

c++
小樊
115
2024-06-24 16:44:37
欄目: 編程語言

在C++中,resize函數(shù)用于改變?nèi)萜鞯拇笮?。它有以下幾種用法:

  1. resize(n):將容器的大小調(diào)整為n,如果n小于當(dāng)前大小,則刪除多余的元素;如果n大于當(dāng)前大小,則在末尾添加默認(rèn)構(gòu)造的元素。
std::vector<int> vec{1, 2, 3, 4, 5};
vec.resize(3); // vec變?yōu)閧1, 2, 3}
vec.resize(5); // vec變?yōu)閧1, 2, 3, 0, 0}
  1. resize(n, value):將容器的大小調(diào)整為n,如果n小于當(dāng)前大小,則刪除多余的元素;如果n大于當(dāng)前大小,則在末尾添加值為value的元素。
std::vector<int> vec{1, 2, 3, 4, 5};
vec.resize(3, 0); // vec變?yōu)閧1, 2, 3}
vec.resize(5, 9); // vec變?yōu)閧1, 2, 3, 9, 9}
  1. resize(n):對于std::string,還可以使用resize函數(shù)來截取字符串或在字符串末尾添加空格。
std::string str = "hello";
str.resize(3); // str變?yōu)?quot;hel"
str.resize(7); // str變?yōu)?quot;hel    ",在末尾添加了4個空格

需要注意的是,resize函數(shù)會修改容器的大小,可能會導(dǎo)致原來的元素被刪除或新增元素。在使用resize函數(shù)時,需要注意對容器中的元素進行備份或重新賦值。

0