#include<iostream>
#include<vector>using namespace std;
int main()
{
//初始化10个元素,每个值都为0
vector<int> fvec(10);
//输出
for(vector<int>::size_type ix=0;ix!=fvec.size();ix++)
cout<<fvec[ix];
cout<<endl;//下标法赋值 0-9
for(vector<int>::size_type ix=0;ix!=fvec.size();ix++)
fvec[ix]=ix;
//输出
for(vector<int>::size_type ix=0;ix!=fvec.size();ix++)
cout<<fvec[ix];
cout<<endl;return 0;
}
从上面可以看出,如果想要用下标法添加或者输出元素,数据的存储空间必须存在,无法动态的添加元素。
动态添加元素的方法,是用vector对象的方法:push_back()
#include<iostream>
#include<vector>
#include <string>using namespace std;
int main()
{
//只有一个对象一个值
vector<int> ivec;
vector<string> strvec;//现在必须动态添加元素
for(vector<int>::size_type ix=0;ix!=10;ix++)
ivec.push_back(ix);
for(vector<int>::size_type ix=0;ix!=ivec.size();ix++)
cout<<ivec[ix];
cout<<endl;
string word;
while(cin >> word)
{
strvec.push_back(word);
}
for(vector<int>::size_type ix=0;ix!=strvec.size();ix++)
cout<<strvec[ix]<<endl;
return 0;
}
注意:字符串输入结束符为 ctrl+z 回车。
使用迭代器:
#include<iostream>
#include<vector>using namespace std;
int main()
{
vector<int> ivec(10);
//定义迭代器类型
vector<int>::iterator iter;
vector<int>::size_type ix;
//现在必须动态添加元素
for(iter=ivec.begin(),ix=0;iter!=ivec.end();iter++,ix++)
*iter=ix;
//输出
for(vector<int>::size_type ix=0;ix!=ivec.size();ix++)
cout<<ivec[ix];
cout<<endl;
return 0;
}
给vector对象添加元素的方法