所以我最近介绍了双端队列,我想知道是否有任何方法可以访问
capacity()
的 std::deque
,就像我们在 std::vector
上所做的那样?
我发现了这个成员函数
std::deque::max_size
但这代表:
双端队列容器可以作为内容容纳的元素的最大数量。
并且不符合我想要的。
有什么想法吗?
双端队列(std::deque)没有容量。这是因为当添加新元素时,它会分配更多的内存,不像 std::vector 会分配一些内存,当内存满时,它会将所有元素移动到新位置。
这意味着内存不是连续的,与 std::vector 不同。 max_size 是元素数量的理论限制,通常远远大于您的实际需求。