用vector创建的二维动态数组怎么用下标访问

用vector创建的二维动态数组如何用下标访问
int row = 2;
int col = 2;
int k = 0;
vector<vector<int> > array;

for(vector<vector<int> >::size_type i = 0;i<row;i++)
{
vector<int> line;
for(vector<int>::size_type j = 0;j<col;j++)
{
line.push_back(k);
//cout<<line[j]<<"\t";
if(j == 1)
{

line.push_back(k);
}
}
array.push_back(line);
}

如果使用迭代器访问我会:
for(vector<vector<int> >::iterator it = array.begin(); it != array.end();++it)
{
for(vector<int>::iterator inner_it = it->begin();inner_it != it->end();++inner_it)
{

cout<<*inner_it<<"\t";
}
}
但如何使用下标访问呢?


------解决方案--------------------
不要嵌套使用vector,效率太低。推荐boost.multiarray。
------解决方案--------------------
你push_back进去什么就打印什么呗
------解决方案--------------------
不要嵌套vector,二维的数组实际上就是一维的数组,按照一维的处理就可以,嵌套的vector效率低且不好用
------解决方案--------------------
探讨
我想的是array[0]应该是2个元素(虽然不能这样访问),array[0][0]应该是一个元素啊,怎么会是两个呢?我知道自己很菜,麻烦你了

引用:

你push_back进去什么就打印什么呗