最近在用c++的vector容器时,遇到了许多问题,在此总结一下
typedef vector<int > vec;
typedef vector<vec> matrix;
最好这样这样定义,不要直接 typedef vector <vectro <int>> matrix;
两种使用方法:
1.
matrix result(x,vec(z));
2.
matrix a(3,vec(2));
a.push_back(vec(2));
a[0].assign(4,6); //**内层vector可以增长,即使在内层提前给定了一个长度的情况下**
cout<<a[3][0]<<endl;
cout<<a[0][3]<<endl;
3.
matrix a(3);//vector中已有3个长度为0的vector<int>,如果以后再push_back,那么元素会放在之后,容器大小增长
a.push_back(vec(2));
a[0].push_back(4);
cout<<a[3][0]<<endl;
cout<<a[0][0]<<endl;
4.
matrix base;
vector<int>a{1,1,1};
vector<int>b{1,1,0};
base.push_back(a);
base.push_back(b);