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()
函數并不保證一定會降低容器的容量,它只是一個建議。具體是否真正減小容量取決于具體實現。