📅  最后修改于: 2023-12-03 14:59:47.161000             🧑  作者: Mango
在C++ STL(标准模板库)中,向量(vector) max_size() 函数用于返回指定的向量容器可以达到的最大容量大小。该函数返回的值是一个常量(constant),即向量可存储的最大值取决于实现和系统的限制。
以下是 max_size() 函数的语法:
size_type max_size() const;
函数中的参数
max_size() 函数没有参数。
函数中的返回值
该函数返回的值是一个常量 unsigned int 数值,对于任何一个向量容器,该值都是固定的,即向量可以容纳的最大元素数目。
以下是 max_size() 函数的示例:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> myVector;
// 给 myVector 的第一位到第十位赋值
for (int i = 0; i < 10; i++)
{
myVector.push_back(i);
}
cout << "myVector 最大可以包含 " << myVector.max_size() << " 个元素" << endl;
return 0;
}
输出结果:
myVector 最大可以包含 1073741823 个元素
这里,myVector.max_size() 返回的值是 1073741823;因此,myVector 这个向量容器最多可以容纳 1073741823 个元素。
max_size() 函数可用于检查向量容器是否已满。
// 判断 myVector 是否已满
if (myVector.size() == myVector.max_size())
{
cout << "myVector 已满。" << endl;
}
else
{
cout << "myVector 未满。" << endl;
}
如果向量容器没有填满,该函数将返回 False,否则返回 True。
我们可以使用 max_size() 函数来检查向量容器可用于存储多少数据。但请注意,这里提供的值不代表系统内存大小或向量容量的实际限制。它只是在当前实现下的对 vector 类型的最大限制。也就是说,在一些系统上,可用的内存可以超出 max_size() 所返回的值。