如何创建动态列表

How to create a dynamic list

本文关键字:动态 列表 创建 何创建      更新时间:2023-10-16

newbie ...我想创建一个动态增长的列表,该列表将容纳点变量,几个INT变量以及ARGB的颜色变量。

我正在Visual Studio C 2010

中进行此操作

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

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

std::vector<Shape> myShapes;

如果您的所有形状都可以通过基本相同的数据集来描述,并且某些数据的大小差异有所差异,例如,"点变量"的数量从形状到形状变化,则具有std :: vector在形状类中,将它们保存为可变数据,例如:

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;