我正在寫一個內存管理模板類,我想在其中創建一個固定大小的C風格的數組,以充當堆。我一直存儲在數組中的對象是這樣的:如何在不調用默認構造函數的情況下創建C風格的數組?
T v[SIZE];
由於這隻會作用,作爲一個堆,可容納T對象,我不希望得到自動調用中的每個對象的T默認構造函數陣列。
我想到了解決這樣定義堆:
char v[SIZE * sizeof(T)];
...但是這會給我對齊問題。
有沒有更好的方法來實現這一目標?
地址:由於我有特殊的運行時間要求,所以這個類不必對全局堆進行任何分配。
ADD 2:SIZE是一個模板參數,在編譯時已知。
什麼時候你打算如果不是,那麼T的構造函數被調用?手動分配數組項目,還是使用自己的新操作符? – Elemental 2010-02-16 14:06:42
你可以使用malloc,但是,而且,但是 - 你不應該需要這種功能。 – Drakosha 2010-02-16 14:09:09
T構造函數將被手動調用。這部分不是問題。 – 2010-02-16 14:14:31