一:上码演示
1:清空元素但其原来的元素还在
#include<bits/stdc++.h>
using namespace std;
int main(){
vector <int> vecInt;
for (int i=0;i<500;i++)
{
vecInt.push_back(i);
}
int j= vecInt.capacity(); //j=512
int i = vecInt.size(); //i=500
vecInt.clear();
int j1= vecInt.capacity(); //j=512
int i1 = vecInt.size(); //i=0
for(int i = 0; i < 5; i++){
cout << vecInt[i] << ' ';
}
}
这里虽然清空了元素,但其原来的元素依然在
2:验证新添加的元素会在下标为0的位置开始
毕竟我们之所以会清空元素,也就是为了从下标为0的位置开始‘
#include<bits/stdc++.h>
using namespace std;
int main(){
vector <int> vecInt;
for (int i=0;i<500;i++)
{
vecInt.push_back(i);
}
int j= vecInt.capacity(); //j=512
int i = vecInt.size(); //i=500
vecInt.clear();
int j1= vecInt.capacity(); //j=512
int i1 = vecInt.size(); //i=0
//清空后赋值会从下标为0时候开始,但如果不添加数据还是会显示原来的数据
int a = 10;
int b = 11;
vecInt.push_back(a);
vecInt.push_back(b);
for(int i = 0; i < 5; i++){
cout << vecInt[i] << ' ';
}
}
我们新添加的10 和 11 在下标为0和1的地方显示出来了,即便原来的元素还在,但完全不影响 我们的接下来的操作