English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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
Nessuno
Restituisce la lunghezza massima permessa del contenitore map.
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.
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.
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.
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.