C++ vector::max_size() 函数



C++ vector::max_size() 函数返回向量允许的最大元素数量。容器绝不保证能够达到该大小:在达到该大小之前,在任何时候分配存储都可能失败。它返回向量可能达到的最大潜在大小,这是由于已知的系统或库实现限制造成的。max_size() 的时间复杂度是常数。

语法

以下是 C++ vector::max_size() 函数的语法:

size_type max_size() const noexcept;

参数

它不接受任何参数。

示例 1

让我们考虑以下示例,我们将使用 max_size() 函数。

#include <iostream>
#include <vector>

int main (){
   std::vector<int> tutorial;
   for (int i=1; i<15; i++) tutorial.push_back(i);
      std::cout << "size: " << tutorial.size() << "\n";
      std::cout << "capacity: " << tutorial.capacity() << "\n";
      std::cout << "max_size: " << tutorial.max_size() << "\n";
   return 0;
}

输出

当我们编译并运行上述程序时,将产生以下结果:

size: 14
capacity: 16
max_size: 2305843009213693951

示例 2

考虑另一种情况,我们将使用 push_back() 函数插入元素并应用 max_size() 函数。

#include <iostream>
#include <vector>
using namespace std;

int main(){
   vector<int> myvector;
   myvector.push_back(11);
   myvector.push_back(22);
   myvector.push_back(33);
   myvector.push_back(44);
   cout << "Max_size(): ";
   cout << myvector.max_size() << endl;
   return 0;
}

输出

运行上述程序后,将产生以下结果:

Max_size(): 2305843009213693951

示例 3

在以下示例中,我们将对给定的向量应用 max_size() 函数。

#include <iostream>  
#include<vector>  
using namespace std;
  
int main(){  
   vector<int> myvector{111,222,333,444,555};  
   std::cout<<myvector.max_size() <<std::endl;  
   return 0;  
}

输出

执行上述程序后,将产生以下结果:

2305843009213693951
广告