std :: list order是否有保证?

时间:2012-10-20 09:58:03

标签: c++ stl containers

std::list中元素的顺序是否保证按顺序排列(当然,除非出现某种情况)?

此外,是否有任何可能未定义的行为,列表可能会混淆它们?

我的印象是std::deque等容器是订单安全的,但是std::deque不是双重关联的。

1 个答案:

答案 0 :(得分:4)

是的,订单在std::list保证。由于UB可能发生任何事情,因此可能会混合使用std :: list的顺序(尽管不太可能。)

简短的回答是,如果您的列表不在您认为应该的顺序中,则最可能的原因是您的程序中存在错误。