vector里如何加东西
vector里怎么加东西
typedef int point[3];
vector <point> pt;
int a[3]={1,2,3};
1.
pt.push_back(a);
不能把int 转换成point
2.
pt.push_back(*a);
3.
pt.push_back(&a);
不能把point *转换成 point
请教
1.pt存储什么类型
2.怎么才能增加数据
------解决方案--------------------
数组不支持赋值操作,不能直接=,剖析你这种用法,实际上等于
int a[3];
int b[3]={1,2,3};
a=b;
能成立吗?
支持赋值和复制是容器使用的最低要求。
你要想用二维数组,应该是这样
vector <vector <int> > pt;
pt.resize(2);
pt[0].resize(3);
pt[1].resize(3);
pt[0][1]=1;
pt[1][2]=2;
//用resize实现动态二维数组。
------解决方案--------------------
struct pa
{
int i[3];
};
//-----------------------------------------------
pa a, b = { 1, 2, 3 };
int i[3], j[3] = { 1, 2, 3 };
// i = j;
cout < < i[0] < < ", " < < i[1] < < ", " < < i[2] < < endl;
a = b;
cout < < "struct array copy : ";
cout < < a.i[0] < < ", "
< < a.i[1] < < ", "
< < a.i[2] < < endl;
//------------------------------------------
用一个struct包装一下,就可以了
typedef int point[3];
vector <point> pt;
int a[3]={1,2,3};
1.
pt.push_back(a);
不能把int 转换成point
2.
pt.push_back(*a);
3.
pt.push_back(&a);
不能把point *转换成 point
请教
1.pt存储什么类型
2.怎么才能增加数据
------解决方案--------------------
数组不支持赋值操作,不能直接=,剖析你这种用法,实际上等于
int a[3];
int b[3]={1,2,3};
a=b;
能成立吗?
支持赋值和复制是容器使用的最低要求。
你要想用二维数组,应该是这样
vector <vector <int> > pt;
pt.resize(2);
pt[0].resize(3);
pt[1].resize(3);
pt[0][1]=1;
pt[1][2]=2;
//用resize实现动态二维数组。
------解决方案--------------------
struct pa
{
int i[3];
};
//-----------------------------------------------
pa a, b = { 1, 2, 3 };
int i[3], j[3] = { 1, 2, 3 };
// i = j;
cout < < i[0] < < ", " < < i[1] < < ", " < < i[2] < < endl;
a = b;
cout < < "struct array copy : ";
cout < < a.i[0] < < ", "
< < a.i[1] < < ", "
< < a.i[2] < < endl;
//------------------------------------------
用一个struct包装一下,就可以了