#include<iostream>
#include<vector>
using namespace std;
int main()
{
int i, j,
m, //行数
n; //列数
cout << "input value for m,n:";
cin>>m>>n;
//注意下面这一行:vector<int后两个">"之间要有空格!否则会被认为是重载">>"。
vector<vector<int> >vecInt(m,vector<int>(n));
for (i = 0; i < m;i++)
{
for (j =0; j <n;j++)
vecInt[i][j] = i+j;
}
for (i = 0; i < m;i++)
{
for (j=0; j<n;j++)
cout<<vecInt[i][j];
cout<<endl;
}
return 0;
}
//注意在MFC中,要加上命名空间std::vector,另外经过测算,这种访问这种动态数组的效率是用new创建动态数组效率的1/20还不到
网上的代码,感觉挺奇特的,因为查了MSDN都不知道他怎么做到的!
本文通过一个C++程序示例介绍了如何使用标准库中的vector来创建并操作二维动态数组,展示了输入行列数后自动分配空间的过程及元素的初始化与访问方式。
1581

被折叠的 条评论
为什么被折叠?



