温馨提示×

c++ resize函数有哪些用法

c++
小樊
86
2024-06-24 16:44:37
栏目: 编程语言

在C++中,resize函数用于改变容器的大小。它有以下几种用法:

  1. resize(n):将容器的大小调整为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加默认构造的元素。
std::vector<int> vec{1, 2, 3, 4, 5};
vec.resize(3); // vec变为{1, 2, 3}
vec.resize(5); // vec变为{1, 2, 3, 0, 0}
  1. resize(n, value):将容器的大小调整为n,如果n小于当前大小,则删除多余的元素;如果n大于当前大小,则在末尾添加值为value的元素。
std::vector<int> vec{1, 2, 3, 4, 5};
vec.resize(3, 0); // vec变为{1, 2, 3}
vec.resize(5, 9); // vec变为{1, 2, 3, 9, 9}
  1. resize(n):对于std::string,还可以使用resize函数来截取字符串或在字符串末尾添加空格。
std::string str = "hello";
str.resize(3); // str变为"hel"
str.resize(7); // str变为"hel    ",在末尾添加了4个空格

需要注意的是,resize函数会修改容器的大小,可能会导致原来的元素被删除或新增元素。在使用resize函数时,需要注意对容器中的元素进行备份或重新赋值。

0