存儲對象的正確的決定我已經CCompositePrimitive類的對象在Main.cpp的在存儲器(複合模式)
int main()
{
...
CCompositePrimitive DrawObjects;
...
}
的CCompositePrimitive類有字段:
private:
list<CDrawObject*> m_Objects;
和方法:
public:
Add(...);
void CCompositePrimitive::Add() {
Objects.push_back(new Rectangle(...))
}
在一些論壇上問我,DrawObjects
對象將被存儲在堆中。但我認爲別的。在我看來DrawObjects
對象將被存儲在堆棧中。 如果DrawObjects可以存儲在列表m_Objects中,我如何保留計算機堆棧溢出的內存(任何不同的內存問題);非常多的對象,它們也可以內容CCompositePrimitive對象(複合模式)。
你可能會節省很多處理時間和內存通過使用std :: vector而不是列表 – Grozz 2011-02-09 09:42:37
爲什麼如果我將使用std :: vector而不是列表我節省內存管理? – 2011-02-09 09:47:44
取決於他是否想要插入並從中間移除物品或將它們洗牌。 – CashCow 2011-02-09 09:48:01