C++ unordered_multimap::max_size() 函式



C++ 的 std::unordered_multimap::max_size() 函式用於返回 unordered_multimap 或容器可以容納的最大元素數量。此數量取決於系統或庫的實現。

如果我們在同一個程式中使用 max_size() 函式處理不同的 unordered_multimap 或空的 unordered_multimap,我們將得到相同的 unordered_multimap 容器的最大大小。

語法

以下是 std::unordered_multimap::max_size() 函式的語法。

size_type max_size() const;

引數

此函式不接受任何引數。

返回值

此函式返回 unordered_multimap 可以容納的最大元素數量。

示例 1

在下面的示例中,我們演示了 unordered_multimap::max_size() 函式的使用。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm;
   cout << "max_size of unordered_multimap = " << umm.max_size() << endl;
   return 0;
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

max_size of unordered_multimap = 576460752303423487

示例 2

考慮以下示例,我們將使用 max_size() 函式,並在將元素插入到空 multimap 前後獲取容器的最大大小。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> um;
   cout << "max_size of unordered_multimap = " << um.max_size() << endl;
   um.insert({{'A', 2}, {'B', 5}, {'C', 6}, {'D', 8}, {'D', 10}});
   cout<<"*** Maximum size of unordered multimap after inserting the element to it ***"<<endl;
   cout << "max_size of unordered_multimap = " << um.max_size() << endl;
   return 0;
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出:

max_size of unordered_multimap = 576460752303423487
*** Maximum size of unordered multimap after inserting the element to it ***
max_size of unordered_multimap = 576460752303423487

示例 3

讓我們來看下面的示例,我們將檢查兩個具有不同元素的 multimap 的最大大小是否相同。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<int, int> ummap, umm;
   cout << "max_size of unordered_multimap = " << ummap.max_size() << endl;
   cout << "max_size of unordered_multimap = " << umm.max_size() << endl;
   ummap.insert({{1, 2}, {2, 5}, {3, 6}, {4, 10}});
   umm.insert({{2, 2}, {3, 5}, {5, 6}, {6, 10}});
   cout<<"*** Maximum size of unordered multimap after inserting the element to it ***"<<endl;
   cout << "max_size of unordered_multimap = " << ummap.max_size() << endl;
   cout << "max_size of unordered_multimap = " << umm.max_size() << endl;
   return 0;
}

輸出

以下是上面程式碼的輸出:

max_size of unordered_multimap = 576460752303423487
max_size of unordered_multimap = 576460752303423487
*** Maximum size of unordered multimap after inserting the element to it ***
max_size of unordered_multimap = 576460752303423487
max_size of unordered_multimap = 576460752303423487

示例 4

下面的示例中,我們將使用 size() 和 max_size() 函式來比較正常大小和最大大小。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<int, int> ummap = {{1, 10}, {1, 100}, {2, 20}, {2, 200}, {3, 30}};
   cout<<"size of the ummap: "<<ummap.size()<<endl;
   cout<<"Maximum size of the ummap: "<<ummap.max_size();
   return 0;
}

輸出

以上程式碼的輸出如下:

size of the ummap: 5
Maximum size of the ummap: 576460752303423487
廣告