在C++中,resize函数用于改变容器的大小。它有以下几种用法:
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}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}resize(n):对于std::string,还可以使用resize函数来截取字符串或在字符串末尾添加空格。std::string str = "hello";str.resize(3); // str变为"hel"str.resize(7); // str变为"hel ",在末尾添加了4个空格需要注意的是,resize函数会修改容器的大小,可能会导致原来的元素被删除或新增元素。在使用resize函数时,需要注意对容器中的元素进行备份或重新赋值。


