C++ vector::shrink_to_fit()实例讲解

c++
1046
2023/12/3 1:43:54
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

vector::shrink_to_fit()是C++标准库中vector容器的一个成员函数,用于将vector的容量调整为与其实际大小相匹配的最小值。该函数可以在删除了一些元素后,将容器的容量减小到与元素数量相等,从而节省内存空间。

以下是一个示例代码,演示了如何使用vector::shrink_to_fit()函数:

#include <iostream>
#include <vector>

int main() {
  std::vector<int> number = {1, 2, 3, 4, 5};
  
  std::cout << "当前容量: " << number.capacity() << std::endl;
  
  number.pop_back(); // 删除最后一个元素
  number.pop_back(); // 删除倒数第二个元素
  
  std::cout << "删除两个元素后的大小: " << number.size() << std::endl;
  
  number.shrink_to_fit(); // 调整容器的容量与元素数量相匹配
  
  std::cout << "调整容量后的大小: " << number.capacity() << std::endl;
  
  return 0;
}

输出结果为:

当前容量: 5
删除两个元素后的大小: 3
调整容量后的大小: 3

在这个示例中,我们创建了一个vector容器number,并初始化了5个整数元素。然后,我们使用pop_back()函数删除了最后两个元素,并打印了调整前后的容器大小和容量。最后,我们使用shrink_to_fit()函数将容器的容量调整为与元素数量相等。

需要注意的是,shrink_to_fit()函数并不保证一定会降低容器的容量,它只是一个建议。具体是否真正减小容量取决于具体实现。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C++命名空间的作用是什么