English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ map empty()La funzione viene utilizzata per verificare se il contenitore della mappa è vuoto. Se il contenitore della mappa è vuoto (dimensione 0), restituisce true, altrimenti restituisce false.
bool empty() const; // prima di C++ 11 bool empty const noexcept; // da C++ 11
Nessuno
Se il contenitore della mappa è vuoto (dimensione 0), restituisce true, altrimenti restituisce false.
Ecco un esempio semplice per verificare se la mappa contiene qualsiasi elemento.
#include <map> #include <iostream> using namespace std; int main() { map<int, int> numbers; cout << "All'inizio, numbers.empty(): " << numbers.empty() << "\n"; numbers[1] = 100; numbers[2] = 200; numbers[3] = 300; cout << "\nDopo aver aggiunto elementi, number.empty(): " << numbers.empty() << "\n"; }
Output:
All'inizio, numbers.empty(): 1 Dopo aver aggiunto elementi, number.empty(): 0
Nel esempio precedente, la dimensione iniziale della mappa è 0, quindi la funzione empty() restituisce 1 (true), e dopo aver aggiunto elementi, restituisce 0 (false).
Ecco un esempio semplice per verificare se la mappa è vuota.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m; if (m.empty()) {} cout << "Map è vuoto." << endl; } m['n'] = 100; if (!m.empty()){ cout << "La mappa non è vuota. " << endl; } return 0; }
Output:
La mappa è vuota. La mappa non è vuota.
Nell'esempio sopra, utilizzare ifSe la mappa è vuota, aggiungere un elemento restituirà la mappa come vuota. Restituirà la mappa non vuota.
Lasciate che vediamo un esempio semplice.
#include <iostream> #include <map> using namespace std; int main () { map<char, int> mymap; mymap['x'] = 100; mymap['y'] = 200; mymap['z'] = 300; while (!mymap.empty()) { cout << mymap.begin()->first << " => " << mymap.begin()->second << '\n'; mymap.erase(mymap.begin()); } return 0; }
Output:
x => 100 y => 200 z => 300
Nell'esempio sopra, viene utilizzata la funzione empty() nel ciclo while e viene stampato l'elemento della mappa fino a quando la mappa non è vuota.
Lasciate che vediamo un esempio semplice.
#include <iostream> #include <map> #include <string> using namespace std; int main() { typedef map<string, int> phoneMap; string name; int number; phoneMap phone; if (phone.empty()){ cout << "La mappa è vuota. Inserisci contenuti \n " << endl; } cout << "Inserisci tre gruppi di nome e numero: \n"; for(int i = 0; i<3; i++) { cin >> name; // Ottenere la chiave cin >> number; // Ottenere il valore phone[name] = number; // Inserire il valore nella mappa } if (!phone.empty()) { cout << "\nElenco dei numeri di telefono: \n"; phoneMap::iterator p; for(p = phone.begin(); p!=phone.end(); p++) { cout << (*p).first << " " << (*p).second << " \n "; } } return 0; }
Output:
La map è vuota. Inserisci del contenuto! Inserisci tre gruppi di nomi e numeri: Nikita 555555 Nidhi 111111 Deep 333333 Elenco di numeri di telefono: Deep 333333 Nidhi 111111 Nikita 555555
Nel seguente esempio, il programma crea interattivamente tre map con tre nomi. Poi, verifica se la map è vuota. Se la map è vuota, visualizza un messaggio, altrimenti visualizza tutti i nomi disponibili nella map e i loro numeri di telefono.