...新手 我想创建一个动态增长的列表,它将保存Point变量,几个int变量以及Argb的颜色变量。
我在Visual Studio C ++ 2010中这样做
在程序中处理此数据的最佳方法是什么?它需要存储用户在屏幕上创建的对象的位置,大小和颜色,以便在刷新表单时将其绘制回表单。目前我有一个非常好的程序,它绘制不同颜色的正方形,圆形和线条,我可以移动该对象,但这只是因为我仍然保持当前的对象/形状数据。
答案 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;