0
在SGI STL分配器的子分配中,有16个空闲列表分别管理大小为8,16,...,128的小块。自由列表节点的结构:SGI STL子分配空闲列表
union obj{
union obj *free_list_link;
char client_data[1];
}
我的问题是:它为什么这样设计?成员client_data用于什么?
在SGI STL分配器的子分配中,有16个空闲列表分别管理大小为8,16,...,128的小块。自由列表节点的结构:SGI STL子分配空闲列表
union obj{
union obj *free_list_link;
char client_data[1];
}
我的问题是:它为什么这样设计?成员client_data用于什么?
这是一种常见的设计模式。 client_data []实际上是8,16 ... 128个字节。 如果您查看obj的分配位置,它可能看起来像12835字节块的malloc(sizeof(obj)+ 128) 。