如何管理结构类型XPoint的向量?
问题描述:
晚上好。 是的,我是C和C++这个世界的新手。 我应该怎么做来解决这个问题:如何管理结构类型XPoint的向量?
int i;
vector <XPoint> originales;
originales.reserve(7);
XPoint asteroid[5];
for(k = 0; k < 7; k++){
for(i = 0; i < 5; i++){
asteroid[i].x = rand() % 20 - 100;
asteroid[i].y = rand() % 20 - 100;
}
originales.push_back(*asteroid);
}//end of first for
/*
The XPoint structure contains:
typedef struct {
short x, y;
} XPoint;
*/
当我打印的坐标是不完整的。这是否意味着您不能在XPoint的矢量内保存XPoint []数组?在那种情况下,我该如何解决它? 请帮忙!
答
数组和向量不兼容。 originales
上唯一可以push_back
是XPoint
。但vector
已经很好地处理了这种事情 - 它们是为它而做的! - 所以你根本不需要额外的数组:
for(k = 0; k < 7; k++){
for(i = 0; i < 5; i++){
XPoint asteroid;
asteroid.x = rand() % 20 - 100;
asteroid.y = rand() % 20 - 100;
originales.push_back(asteroid);
}
}
你似乎在填充5个物品的数组,以便只将这些物品中的一个**放入你的矢量中。你需要这5个物品阵列吗? – Galik 2015-02-08 05:34:28
对加利克:是的,我犯了一个错误。我需要五对坐标,不仅是第一对。巴里:谢谢。我不知道'矢量'和'数组'之间的关系'''我会看看我能做些什么 – 2015-02-10 23:13:51