使用clear函数后再使用一次shrink_to_fit函数,具体效果详见以下代码和截图。
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<bool> flags(5);
flags[0] = true;
flags[2] = true;
flags[4] = true;
cout << "flags's size: " << flags.size() << ", flags's capacity: " << flags.capacity() << "\n";
for (int i = 0; i < 5; i++){
cout << flags[i] << " ";
}
cout << "\n";
flags.push_back(true);
cout << "flags's size: " << flags.size() << ", flags's capacity: " << flags.capacity() << "\n";
flags.shrink_to_fit();
cout << "flags's size: " << flags.size() << ", flags's capacity: " << flags.capacity() << "\n";
flags.clear();
cout << "flags's size: " << flags.size() << ", flags's capacity: " << flags.capacity() << "\n";
flags.shrink_to_fit();
cout << "flags's size: " << flags.size() << ", flags's capacity: " << flags.capacity() << "\n";
return 0;
}

本文通过一个具体的C++示例展示了如何使用clear和shrink_to_fit函数来管理std::vector容器的大小与容量,特别关注了在进行多次容量调整后的实际效果。
6311

被折叠的 条评论
为什么被折叠?



