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()
函数并不保证一定会降低容器的容量,它只是一个建议。具体是否真正减小容量取决于具体实现。