怎么用C++中的Vector来代替 声明 数组中的 2维数组??
1个回答
展开全部
vector里面嵌套vector就可以了。如下:(x就是有65个vector<int的相当于2维数组的玩意儿)#include<vector#include<iostreamusingstd::vector;usingstd::cout;usingstd::endl;intmain(){vector<vector<intx;for(inti=0;i<65;++i){x.push_back(vector<int(65));}intcount=0;for(inti=0;i<x.size();++i){for(intj=0;j<x[i].size();++j){cout<<x[i][j]<<endl;++count;}}cout<<Countis:<<count<<endl;}同时请主意,这个和2维数组有个很大的不同就是,它的任意两个一维数组都几乎不是连续存储的。(相信你应该理解2维数组是由很多个连续存储的一维数组构成的)。如:#include<vector#include<iostreamusingstd::vector;usingstd::cout;usingstd::endl;intmain(){inta[65][65]={0};vector<vector<intx;//使x成为类似a[65][65]for(inti=0;i<65;++i){x.push_back(vector<int(65));}cout<<Addressofa[0][64]:<<&a[0][64]<<endl;cout<<Addressofa[1][0]:<<&a[1][0]<<endl;cout<<Addressofx[0][64]:<<&x[0][64]<<endl;cout<<Addressofx[1][0]:<<&x[1][0]<<endl;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询