如何创建动态列表

时间:2012-11-07 09:40:50

标签: c++ visual-c++

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

我在Visual Studio C ++ 2010中这样做

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

1 个答案:

答案 0 :(得分:0)

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

std::vector<Shape> myShapes;

如果你的所有形状都可以用基本相同的数据集描述,某些数据的大小有些变化,例如“点变量”的数量从形状到形状的变化,则有一个std :: vector在shape类中保存可变数据,例如:

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;