侯老师--STL源码剖析--书中的疑问三
前言
我在看侯捷的STL源码剖析一书中”第二章2.2具备次配置力(sub-allocation)的SGI空间配置器(第47页)看到了如下的代码,我认为是有错误的。
SGI空间配置器原文
……
SGI的空间配置器与众不同,也和标准规格不同,其名称为alloc而非allocator,而且不接收任何引数。换句话说如果你要在程式中明白采用SGI空间配置器,不能采用标准写法。
vector<int, std::allocate<int> > iv; //in VC or CB
必须这么写:
vector<int, std::alloc > iv; //in GCC
……
以上是原文的摘录,我个人认为语句:
vector<int, std::allocate<int> > iv; //in VC or CB
中的std::allocate并不存在,而应该为std::allocator。所以应改为
vector<int, std::allocator<int> > iv; //in VC or CB
这可能是侯老师的笔误,但是这不代表我说的一定对,侯老师一定写错了。我只是把我个人的观点写出来,很可能是我错了(学习不精),请大家批评指教,共同进步吗!如果能够得到侯老师的指点是再好不过了^_^。
总之,请大家多多批评指教,来信至ccplusplus@21cn.com。
致谢!
袁小凯
2001-11-14