2013-07-30 121 views

回答

2
Free = *((T**)Free); 

我認爲這可能是更清楚地寫爲:

Free = (T *) *Free; 

兩個語句依靠不確定的行爲,處理T作爲T *指針。從概念上講,他們正在做的是將*Free分配給Free。例如,如果Tint,則該語句將重新解釋爲int,作爲指向int的指針,將其指定爲超過原始指針。

至於這是什麼樣的感覺,這取決於更大的背景。代碼粗略;它可能是天才,也可能是愚蠢的。

+0

http://jfdube.wordpress.com/2011/10/06/memory-management-part-2-allocations-tracking/這是關於Freelist類的上下文。在New()中 –