如何获取双端队列的容量?

问题描述 投票:0回答:1

所以我最近介绍了双端队列,我想知道是否有任何方法可以访问

capacity()
std::deque
,就像我们在
std::vector
上所做的那样?

我发现了这个成员函数

std::deque::max_size
但这代表:

双端队列容器可以作为内容容纳的元素的最大数量。

并且不符合我想要的。

有什么想法吗?

c++ deque
1个回答
5
投票

双端队列(std::deque)没有容量。这是因为当添加新元素时,它会分配更多的内存,不像 std::vector 会分配一些内存,当内存满时,它会将所有元素移动到新位置。

这意味着内存不是连续的,与 std::vector 不同。 max_size 是元素数量的理论限制,通常远远大于您的实际需求。

© www.soinside.com 2019 - 2024. All rights reserved.