分配器中的每对象数据?

Mat*_*gan 4 c++ stl

什么是"分配器中的每个对象数据".我似乎无法找到这意味着什么.任何人都有一个很好的解释或链接,这意味着C++语言的意义?


澄清

第19.4.2节"C++编程语言(特别版)"第2页.573

"同样,如果允许分配器完全通用,那么允许分配器分配任意类型元素的重新绑定机制必须更加精细.因此,假定标准分配器不保存每个对象数据和实现标准集装箱可以利用这一点."

Dar*_*rda 5

每对象数据或本地状态是指分配器类中的任何非静态数据成员.

问题是目前(in c++03)不支持具有所谓本地状态的分配器.这通常被认为是当今分配器模型的缺陷c++.

有一个通过阅读一篇文章,详细介绍了设计的自定义分配器.设计中的一个段落专门解决了包含本地状态的分配器的一些缺陷.

简而言之,标准库中的一些操作当前要求特定类型的对象由分配器的一个实例安全地分配,并由分配器的另一个实例释放(当然,两个分配器都是相同的类型!).list::splice例如,在实施时可能就是这种情况.如果允许分配器具有本地状态,这可能会变得棘手......

在即将到来的c++0x修订版中,似乎允许分配器合并本地状态,请在此处查看作用域分配器部分.

希望这可以帮助.