1&!34
,-&!)0"%4
>2?*@AB,"'*&!2>
,-&!!*0&!!*5C1$D$;)D34
,-&!0&!4
,-&!'(074
,-07#74
,-0);4
AllocateVfd
9
)每次调用
.'"'!"
文件前都会调用
!!
从
+
中获取一个空
闲的
。
:
)首先会判断
链表中是否为空。初始时刻,
'(+
为
9
,则会将
+
初始
化成大小
<:
的数组,并将其通过
#
串联起来形成
链表,注意该
链表为循环。
<
)
+678
不使用。最开始
<:
个的时候,即第一次扩充后
链表如下图所示,跳过
+698
,
9
会返回。也就是说每次取
都是
+678E#
=
)后续再次扩充时,都是翻倍进行扩充
!!,-
'1+678E#0073F
'( +'(0'(+2:4
'1+'(G<:3
+'(0<:4
+0123!!1+'(132+'(34
+0+4
1'0'(+4'G+'(4'HH3F
11+2351+6'837'(1334
+6'8E#0'H94
+6'8E04
I
+6+'(,98E#074
+678E#0'(+4
'(+0+'(4
I
&!0+678E#4
+678E#0+6&!8E#4
&!4
评论