C++ buit() La funció s'utilitza per comprovar si el contenidor establert està buit o no. Torna veritat si el contenidor establert està buit (la mida és 0) en cas contrari, torna fals .
Sintaxi
bool empty() const; // until C++ 11 bool empty const noexcept; //since C++ 11
Paràmetre
Cap
Valor de retorn
Torna veritat si el contenidor establert està buit (la mida és 0) en cas contrari, torna fals .
Complexitat
Constant.
Validesa de l'iterador
Sense canvis.
Carreres de dades
S'accedeix al contenidor.
L'accés simultània als elements del conjunt és segur.
Seguretat d'excepció
Aquesta funció mai genera excepcions.
Exemple 1
Vegem un exemple senzill per comprovar si un conjunt conté algun element o no:
#include #include using namespace std; int main() { set numbers; cout << ' Initially, numbers.empty(): ' << numbers.empty() << ' '; numbers = {100, 200, 300}; cout << ' After adding elements, numbers.empty(): ' << numbers.empty() << ' '; }
Sortida:
Initially, numbers.empty(): 1 After adding elements, numbers.empty(): 0
A l'exemple anterior, inicialment la mida del conjunt és 0, per tant, la funció empty() retorna 1 (true) i després d'afegir elements retorna 0 (fals).
Exemple 2
Vegem un exemple senzill per comprovar si el conjunt està buit o no:
gigabyte vs megabyte
#include #include using namespace std; int main(void) { set s; if (s.empty()) cout << 'Set is empty.' << endl; s = {100}; if (!s.empty()) cout << 'Set is not empty.' << endl; return 0; }
Sortida:
Set is empty Set is not empty
A l'exemple anterior, si s'utilitza una declaració de condició. Si set està buit, retornarà set està buit després i afegint elements, retornarà set no buit.
Exemple 3
Vegem un exemple senzill:
#include #include using namespace std; int main () { set myset; myset = {100, 200, 300}; while (!myset.empty()) { cout << *myset.begin()<< ' '; myset.erase(*myset.begin()); } return 0; }
Sortida:
100 200 300
A l'exemple anterior, simplement utilitza la funció empty() al bucle while i imprimeix els elements del conjunt fins que el conjunt no estigui buit.
Exemple 4
Vegem un exemple senzill:
#include #include #include using namespace std; int main() { typedef set phoneSet; int number; phoneSet phone; if (phone.empty()) cout << 'Set is empty. Please insert content! ' << endl; cout<<'enter three sets of number: '; for(int i="0;"> number; // Get value phone.insert(number); // Put them in set } if (!phone.empty()) { cout<<' list of telephone numbers: '; phoneset::iterator p; for(p="phone.begin();" p!="phone.end();" p++) { cout<<(*p)<<' '; } return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Set is empty. Please insert content! Enter three sets of number: 1111 5555 3333 List of telephone numbers: 1111 3333 5555 </pre> <p>In the above example, the program first creates phone set interactively with three set of numbers, then it checks if the set is empty or not. If set is empty, it displays a message otherwise, it displays all the telephone numbers available in the set.</p> <br></' list></'enter>
A l'exemple anterior, el programa primer crea un conjunt de telèfons de manera interactiva amb tres conjunts de números i després comprova si el conjunt està buit o no. Si el conjunt està buit, mostra un missatge en cas contrari, mostra tots els números de telèfon disponibles al conjunt.
' list>'enter>