在C ++中可以存储在数组中的最大元素数是多少?

时间:2017-08-15 14:30:10

标签: c++ arrays c++11

我们可以在一个整数数组中存储最多[10000000](10 ^ 7)的元素。有没有办法存储更多数据的数据。还有什么是字符的最大大小array.Please原谅如果重复这个问题,我会删除它。

1 个答案:

答案 0 :(得分:3)

  

C ++中可以在数组中存储的最大元素数是多少?

理论上,上限是std::size_t可表示的最大值。该值是实现定义的。这适用于大小为1(字节)的对象。您只能拥有一半大小为2的对象。整数类型的大小是实现定义的(窄字符类型除外)。

在实践中,存在其他限制。这取决于存储持续时间和系统。

大多数系统都限制自动变量的内存量。究竟有多少取决于系统,有时是可配置的,但桌面上通常默认为1到几兆字节。

静态变量和动态对象通常没有这样的限制,上限是操作系统为进程提供的主内存+交换空间的数量。其上限是系统上的内存量+交换量减去其他进程和操作系统内核使用的内存。

较大的阵列可以存储在磁盘上,并使用分页系统进行访问。此类对象的上限受虚拟内存量,文件系统和可用存储大小的限制。