gpt4 book ai didi

C++ vector max_size();

转载 作者:IT老高 更新时间:2023-10-28 22:33:48 26 4
gpt4 key购买 nike

在 32 位系统上。

  1. std::vector<char>::max_size()返回 232-1,大小为 char — 1 个字节
  2. std::vector<int>::max_size()返回 230-1,大小为 int — 4 字节
  3. std::vector<double>::max_size()返回 229-1,大小为 double — 8 字节

谁能告诉我max_size()取决于什么?

max_size() 的返回值是多少?如果它在 64 位系统上运行。

最佳答案

max_size() 是理论上可以放入 vector 中的最大项目数。在 32 位系统上,理论上您可以分配 4Gb == 2^32,即 2^32 char 值、2^30 int 值或 2^29 double 值。您的实现似乎正在使用该值,但减去 1。

当然,你永远不可能在 32 位系统上真正分配这么大的 vector 。在那之前你会用完内存。

对于 max_size() 返回的值没有任何要求,除非您不能分配大于该值的 vector 。在 64 位系统上,它可能为 char 返回 2^64-1,或者它可能返回较小的值,因为系统只有有限的内存空间。无论如何,64 位 PC 通常被限制为 48 位地址空间。

关于C++ vector max_size();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com