English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manuale di base di C++

Controllo di flusso C++

Funzione in C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatore in C++

Ereditarietà in C++

Manuale di STL di C++

Manuale di riferimento C++

Metodo di utilizzo e esempio della funzione max_size() di C++ map

map (contenitore) di STL in C++

C ++ map max_size()La funzione viene utilizzata per ottenere la dimensione massima che il contenitore map può contenere.

Sintassi

Tipo di membrosize_typeÈ un tipo di intero unsigned.

size_type max_size() const; // prima di C++ 11
size_type max_size() const noexcept; // da C++ 11

Parametro

Nessuno

Valore di ritorno

Restituisce la lunghezza massima permessa del contenitore map.

Esempio 1

Vediamo un esempio semplice per calcolare la capacità massima del map.

#include <iostream>
#include <map>
using namespace std;
 
int main()
{
    map<char, char> s;
    cout << "La dimensione massima del map è " << s.max_size() << "\n";
}

Output:

La dimensione massima del map è 268435455

Nel esempio sopra, la funzione max_size() restituisce la capacità massima del map.

Esempio 2

Vediamo un esempio semplice.

#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 << "Questo map contiene 1000 elementi.\n";
  }
  else cout << "map non può contenere 1000 elementi.\n";
  return 0;
}

Output:

Questo map contiene 1000 elementi.

Nell'esempio sopra, il membro max_size viene utilizzato per controllare preventivamente se la mappa permette di inserire 1000 elementi.

Esempio 3

Vediamo un esempio semplice, ricerca della dimensione massima di una mappa vuota e di una mappa non vuota.

#include <map>
#include <iostream>
using namespace std;
 
int main()
{
 
    // Inizializzazione del contenitore
    map<int, int> mp1, mp2;
    mp1[1] = 1111;
 
    // Dimensione massima di una mappa non vuota
    cout << "mp1的最大大小为 " << mp1.max_size();
 
    // Dimensione massima di una mappa vuota
    cout << "
La dimensione massima di mp2 è " << mp2.max_size();
    return 0;
}

Output:

La dimensione massima di mp1 è 178956970
La dimensione massima di mp2 è 178956970

Nell'esempio sopra, ci sono due mappe, ovvero m1 e m2. m1 è una mappa non vuota, m2 è una mappa vuota. Tuttavia, la dimensione massima di entrambe le mappe è la stessa.

Esempio 4

Vediamo un esempio semplice.

#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 << "Inserisci il numero di membri della famiglia: ";
   cin >> n;
   cout << "Inserisci il nome e l'età di ogni membro: 
";
   for(int i = 0; i < n; i++)
   {
       cin >> name; 
       cin >> age;  
       fmly[name] = age; 
   }
   
      cout << "
Mappa della popolazione totale della città: " << fmly.max_size();
      cout << "
Il numero totale di membri della famiglia è: " << fmly.size();
      cout << "
Dettagli della famiglia: 
";
      cout << "
Nome | Età 
________________________
";
      city::iterator p;
      for(p = fmly.begin(); p != fmly.end(); p++)
      {
          cout << (*p).first << " | " << (*p).second << "
";
      }
    
   return 0;
}

Output:

Inserisci il numero di membri della famiglia: 3
Inserisci il nome e l'età di ogni membro: 
Ram 42
Sita 37
Laxman 40
Mappa della popolazione urbana: 384307168202282325
Il numero totale dei membri della famiglia è: 3
Dettagli della famiglia: 
Nome    |  Età 
__________________________
Laxman | 40 
Ram      | 42 
Sita       | 37

Nell'esempio sopra, il programma crea inizialmente una mappa di città con una dimensione data. Poi, mostra la dimensione totale che può contenere la mappa di città, la dimensione totale di ogni foto e tutti i nomi e età disponibili nella mappa.

map (contenitore) di STL in C++