我想在構造函數中爲結構數組動態分配存儲。我是C++新手,嘗試過各種語法變體,但現在我想知道這是否可以完成。在C++構造函數中分配結構數組的存儲
struct Trade
{
int index;
}
define MAX_TRADES 5000
struct foo
{
Trade *trade [MAX_TRADES];
int cumeTradeCount;
foo() :
cumeTradeCount(0),
{
// here is where I want to allocate storage for cumeTradeCount Trade structures
....
memset(trade, 0, cumeTradeCount * sizeof(Trade*));
}
}
具體來說,我想弄清楚的是,我如何在構造函數中爲'cumeTradeCount'結構分配存儲空間。 如果我用C這樣做,我會做到以下幾點:
for (int i = 0; i < cumeTradeCount; ++i)
trade[i] = calloc(1, sizeof(Trade *));
'memset'並分配存儲器 - 它設置爲特定值。既然你正在初始化'cumeTradeCount = 0','memset'也不會做任何事情。另外,尾隨的逗號會使這段代碼不能編譯。 – MuertoExcobito