在MCD中的几个问题
在MCD第四章<小型对象分配技术>里有关chunk讲解的部分中有几个问题,现在拿出来问问大家:
1、在P82中的关于Init的那段代码中,blocks的型别是unsigned char,它的代表的意义是在chunk中分配区块的数量,那我想问这个blocks,是如何赋值?blocks=(unsigned char)n//n是整型,这样赋值可以吗?
2、代码中的size_t,到底是什么型别?好象在泛型中还有size_type,这个又是什么意思?
最后一个问题,书中讲到之所以firstAvailableBlock(chunk中第一个可用区块的索引号)和blocksAvaiable(chunk内可用区块总数)是unsigned char型别,书中说到如果将unsigned char换成unsigned short的话,“我们就无法分配小于sizeof(unsigned short)的区块”(这是书中原话),我实在是理解不了这句话。我认为上面的两个参数(其实也就是blocksAvaiable该参数决定区块总数)仅仅可以限制chunk中区块的数量,而和每一个区块中的大小没有什么影响。我认为是我的理解有问题,所以请大家给个讲解,谢谢