C++ 可存储在std::vector中的最大元素数<;int>;

C++ 可存储在std::vector中的最大元素数<;int>;,c++,C++,因为我们可以在数组中存储10^7个元素,如果我们需要存储大于等于10^9的元素,那么我们该怎么做呢 可存储在std::vector中的最大元素数 取决于运行程序的系统的限制。在64位系统上,最大值很可能受到系统可用物理内存量的限制 如果我们需要存储>=10^9的元素,那么我们该怎么做呢 然后调用vec.resize(1'000'000'000)。这少于4G内存(在典型系统上)。组合两个或多个向量?取决于运行时的内存消耗。你也许可以。但与其问一个问题,不如分享一下你要解决的问题。当你写“存储元素>

因为我们可以在数组中存储10^7个元素,如果我们需要存储大于等于10^9的元素,那么我们该怎么做呢

可存储在std::vector中的最大元素数

取决于运行程序的系统的限制。在64位系统上,最大值很可能受到系统可用物理内存量的限制

如果我们需要存储>=10^9的元素,那么我们该怎么做呢


然后调用
vec.resize(1'000'000'000)
。这少于4G内存(在典型系统上)。

组合两个或多个向量?取决于运行时的内存消耗。你也许可以。但与其问一个问题,不如分享一下你要解决的问题。当你写“存储元素>=10^9”时,我感觉你可能把向量中元素的数量和元素的值混在了一起。大概限制是物理内存加上交换。“这不到4G内存。”(在典型系统上)“取决于元素类型。@Asteroswithwings元素类型的
std::vector
在理论上是
int
@MSalters,这可能取决于内存的使用方式。交换速度太慢,在实践中无法有效使用。@eerorika哈哈,我没有看到标题:D