看过<<STL源码剖析>>的朋友进来指点一下.解决方法

看过STL源码剖析的朋友进来指点一下.在P116讲到vector的构造函数的时候,如:vector(size_type n)会调

看过<<STL源码剖析>>的朋友进来指点一下.
在P116讲到vector的构造函数的时候,如:

 vector(size_type n);

会调用到 alloc::allocate(n).

现在的问题是, vector(size_type n)中的n, 是元素的个数, 而 alloc::allocate(n)中的n, 是字节数. 好像有点问题啊. 本来要分配n个int的, 这不成了n个字节了吗?


[解决办法]
static void* allocate(size_t n) 

if ( n > (size_t)__MAX_BYTES ) 
{....} 

__MAX_BYTES 就是那个分水岭128. 这个n不是字节吗?

==================================================
allocate是一个函数,是alloc::allocate调用的
[解决办法]
兄弟,看书认真一点,在P54