English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ map max_size()A função é usada para obter o tamanho máximo que o contêiner do map pode suportar.
Tipo de membrosize_typeÉ um tipo inteiro sem sinal.
size_type max_size() const; // De C++ 11 Antes size_type max_size() const noexcept; //De C++ 11 Começando
Sem
Ele retorna o comprimento máximo permitido do contêiner do map.
Vamos ver um exemplo simples para calcular a capacidade máxima do map.
#include <iostream> #include <map> using namespace std; int main() { map<char, char> s; cout << "A maior capacidade do map é " << s.max_size() << "\n"; }
Saída:
A maior capacidade do map é 268435455
No exemplo acima, a função max_size() retorna a capacidade máxima do map.
Vamos ver um exemplo simples.
#include <iostream> #include <map> using namespace std; int main () { int i; map<int, int> mymap; if (mymap.max_size()1000) { for(i = 0; i<1000; i++) mymap[i] = 0; cout << "O map contém1000 elementos.\n"; } else cout << "O map não pode conter1000 elementos.\n"; return 0; }
Saída:
O map contém1000 elementos.
No exemplo acima, o membro max_size é usado para verificar previamente se o map permite a inserção1000 elementos.
Vamos ver um exemplo simples, encontrar o tamanho máximo de um map vazio e um map não vazio.
#include <map> #include <iostream> using namespace std; int main() { //Inicializar o contêiner map<int, int> mp1, mp2; mp1[1] = 1111; //Tamanho máximo do map não vazio cout << "\nTamanho máximo do map não vazio: " << mp1O tamanho máximo de " << mp1.max_size(); // Tamanho máximo do map vazio cout << "\nTamanho máximo do map vazio: " << mp2O tamanho máximo de " << mp2.max_size(); return 0; }
Saída:
mp1tem o tamanho máximo de 178956970 mp2tem o tamanho máximo de 178956970
No exemplo acima, há dois map, ou seja, m1e m2.m1É um map não vazio, m2É um map vazio. Mas, os tamanhos máximos dos dois map são iguais.
Vamos ver um exemplo simples.
#include <iostream> #include <map> #include <string> using namespace std; int main() { typedef map<string, int> city; string name; int age; city fmly; int n; cout << "\nInsira o número de membros da família: "; cin >> n; cout << "\nInsira o nome e a idade de cada membro: \n"; for(int i = 0; i<n; i++) { cin >> name; cin >> age; fmly[name] = age; } cout << "\nMapa total da cidade: " << fmly.max_size(); cout << "\nNúmero total de membros da família: " << fmly.size(); cout << "\nDetalhes dos membros da família: \n"; cout << "\nNome \| \n\n________________________\n"; city::iterator p; for(p = fmly.begin(); p!=fmly.end(); p++) { cout << (*p).first << " \| " << (*p).second << " \n \n"; } return 0; }
Saída:
输入家庭成员人数 : 3 输入每个成员的姓名和年龄: Ram 42 Sita 37 Laxman 40 城市总人口map: 384307168202282325 家庭总成员是:3 家庭成员的详细信息: Name | Age __________________________ Laxman | 40 Ram | 42 Sita | 37
No exemplo acima, o programa cria interativamente um map de tamanhos dados. Em seguida, ele mostra o tamanho total que o map pode conter, o tamanho total de cada foto e todos os nomes e idades disponíveis no map.