vector作为模板容器,有着不可替代的地位,仔细的学习方是正道...
#include<vector>
#include<iostream>
#include<String>
using namespace std;
int main()
{
//赋值不接受不同类型的,但是能够强转的可以
// vector<string> str(2,'a'); //wrong!!
vector<int> a(5,'a');
cout<<a[2]<<endl;
//容器可以为容器的容器
vector<vector<int> > ivec;
vector<string> svec (10,"null");
cout<<svec[2]<<endl; //是字符串null
vector<string> str;
//此时容器中没有元素所以str[0]没有
// cout<<str[0]<<endl; // wrong!!
cout<<str.empty()<<endl;
/* 标准vector的for循环如下所示
* vector<类型>::size_type 保证类型的一致
* != 的操作使得泛型的比较更完备
* 在for循环中用size(),因为vector的大小可能动态改变
* 而内联函数并不会对效率造成太大的损害
*/
for(vector<int>::size_type i = 0;i != a.size();i++)
{
a[i] = i;
}
cout<<a[4]<<endl;
vector<int> num;
for(vector<int>::size_type i = 0;i!= 10;i++)
{
//num[]仅能提取已经存在的元素
// num[i] = i; //wrong!!
num.push_back(i);
}
cout<<num[3]<<endl;
return 0;
}
输出结果:
97
null
1
4
3
本篇博客出自 阿修罗道,转载请注明出处:http://blog.youkuaiyun.com/fansongy/article/details/7281507