2012-11-07 141 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