mfc c++ 初学,vector怎么最简单地使用二维数组vector<int,int> vec;

vector一维数组很简单vector<int>vec;vec.push_back(121);vec.push_back(121);vec.push_back(121);... vector一维数组很简单
vector<int> vec;
vec.push_back(121);
vec.push_back(121);
vec.push_back(121);
vec.push_back(121);
vec.push_back(126);
printf("%d", vec[4]);不用设置初始大小就可以使用了

但是如果是2维vector<int,int> vec;
这样怎么添加元素?谢谢
读取呢
展开
 我来答
我了个去OKzi
2015-11-20 · 超过14用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:31.3万
展开全部
1.不知道是不是你写错了,正确的二维数组是vector<vector<int> >vect[常量]。
2.个人觉得使用typedef表示方法好理解点,直接把vector<vector<int> >看作一个整数,如下:
typedef VEC vector<vector<int> >;

2.操作:VEC vec[常量]; vec[0].push_bac(1);跟一般类型的二维数组一样去操作。
chichujn
推荐于2017-10-14 · TA获得超过663个赞
知道小有建树答主
回答量:1534
采纳率:50%
帮助的人:1103万
展开全部
如果第二维只是固定的两个int的话有两种办法。
1, 使用stl的pair
vector<pair<int, int>> vec;
2, 添加两个int成员的类, 注意这个类需要有定义或有默认定义的拷贝构造函数和赋值操作符
class point
{
//成员,根据情况设置public或者private
int x;
int y;
//成员函数及其它..
};
vector<point> vec;

如果第二维也是不固定的话使用
vector<vector<int>> vec;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abc612008
2015-11-08 · TA获得超过100个赞
知道小有建树答主
回答量:382
采纳率:0%
帮助的人:179万
展开全部
vector没有这种使用方法
你可以试试vector<vector<int>> vec;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想说and我单身
2014-04-28 · 超过10用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:23.4万
展开全部
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<vector<int> > vec;
int x;
vector<int> v;
for(int i=0;i<2;++i)
{
for(int j=0;j<2;++j)
{
cin>>x;
v.push_back(x);
}
vec.push_back(v);
}
return 0;
}
追问

你这样读不出来啊

追答
这样你就有一个vec[i][j]的数组了,怎么可能读不出来,你多看看vector基本用法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wls5611
2014-04-28 · 超过29用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:68.5万
展开全部
typedef struct Array2D
{
int x;
int y;
}
vector<Array2D> vect;
----
Array2D array2d;
array2d.x=1;
array2d.y=2
vect.push_back(array2d);
追问
怎么读这两个数阿
追答
vect[i].x

vect[i].y
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式