< p >
std::list
如何分配用于保存 next
/prev
指针和包含的 T
元素的节点?
我认为标准分配器只能用于为一种类型分配内存(因为 std::allocator::allocate
按照 sizeof(T)
的增量分配内存)。因此,似乎不可能在单个分配中分配列表节点和包含的对象,这意味着节点必须由实现决定的任何内容进行分配,并且节点存储指向对象的指针而不是对象本身,这意味着需要两个间接级别才能从指向列表节点的指针到达其包含的对象,这似乎效率低下。这是正确的吗?
T
жҲҗе‘ҳзҡ„иҠӮзӮ№з»“жһ„пјҹ - Quentinstd::list
使用的分配器的模板参数是与列表存储相同类型的,而不是一个node
结构。这就是我提出问题的原因。 - asdf