std::deque 和 boost::deque 有什么区别?

Afi*_*efh 5 c++ boost

std::dequeCppReference 中有相当详细的文档,但是它boost::deque文档似乎与标准的文档等效,只是添加了一些方法,例如nthindex_of

我缺少的两个类之间还有其他区别吗?

jua*_*nza 3

是的,还有其他差异。例如,boost::deque可以用不完整的类型进行实例化。所以你可以这样:

struct foo
{
  boost::deque<foo> foos;
};
Run Code Online (Sandbox Code Playgroud)

而以下情况会导致未定义的行为(尽管它可能在某些实现上运行良好。)

struct foo
{
  std::deque<foo> foos;
};
Run Code Online (Sandbox Code Playgroud)