2012-11-07 106 views
-2

新手... 我想创建一个动态增长的列表,它将保存Point变量,几个int变量以及Argb的颜色变量。如何创建一个动态列表

我做它在Visual Studio C++ 2010

什么是处理程序中该数据的最好方法?它需要存储用户在屏幕上显示的对象的位置,大小和颜色,以便在刷新窗体时可以将它们绘制回窗体。目前我有一个非常好的程序,用不同的颜色绘制正方形,圆形和线条,我可以移动这个对象,但这只是因为我仍然坚持当前的对象/形状数据。

+6

使用'std :: vector'。 – sgarizvi

回答

0

创建一个结构或类来保存一个形状的信息,然后使用std::vector来保存它们的列表。

std::vector<Shape> myShapes; 

如果所有的形状都可以通过基本上相同的数据集的数据的一些块的尺寸,例如“点varaibles”从形状的变化来塑造的数量来描述,其中一些方差,然后有一个标准::向量形状类内容来保存他们的可变数据,例如:

struct coordinate2D 
{ 
    int x; 
    int y; 
}; 

class Shape 
{ 
    coordinate2D position; //the location on the shape 
    std::vector<coordinate2D> points; // the coordinates of the vertices that make up this shape. 
}; 

//elsewhere 
std::vector<Shape> myShapes; 
+0

我既不认为将向量存储在向量中也是一个好主意(它需要一些智慧来正确_清理那些东西),也不要将它建议给新手。至少应该使用智能指针。 –

+0

@ phresnel同意并修改,谢谢。 – Ian