C++ tuščia() Funkcija naudojama patikrinti, ar nustatyta talpykla tuščia, ar ne. Tai grįžta tiesa jei nustatytas konteineris tuščias (dydis 0), kitu atveju jis grąžinamas klaidinga .
Sintaksė
bool empty() const; // until C++ 11 bool empty const noexcept; //since C++ 11
Parametras
Nė vienas
Grąžinimo vertė
Tai grįžta tiesa jei nustatytas konteineris tuščias (dydis 0), kitu atveju jis grąžinamas klaidinga .
Sudėtingumas
Pastovus.
Iteratoriaus galiojimas
Jokių pakeitimų.
Duomenų lenktynės
Prieina prie konteinerio.
Vienu metu prieiti prie rinkinio elementų yra saugu.
Išimtis Sauga
Ši funkcija niekada nedaro išimties.
1 pavyzdys
Pažiūrėkime paprastą pavyzdį, kaip patikrinti, ar rinkinyje yra elementų, ar ne:
#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() << ' '; }
Išvestis:
Initially, numbers.empty(): 1 After adding elements, numbers.empty(): 0
Aukščiau pateiktame pavyzdyje iš pradžių rinkinio dydis yra 0, todėl funkcija tuščia () grąžina 1 (tiesa), o pridėjus elementus – 0 (false).
2 pavyzdys
Pažiūrėkime paprastą pavyzdį, kaip patikrinti, ar rinkinys tuščias, ar ne:
#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; }
Išvestis:
Set is empty Set is not empty
Aukščiau pateiktame pavyzdyje, jei naudojamas sąlygos sakinys. Jei rinkinys tuščias, jis grąžins rinkinį tuščią, o pridėjus elementus, rinkinys nebus tuščias.
3 pavyzdys
Pažiūrėkime paprastą pavyzdį:
#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; }
Išvestis:
100 200 300
Aukščiau pateiktame pavyzdyje jis tiesiog naudoja tuščią () funkciją while cikle ir spausdina rinkinio elementus tol, kol rinkinys nėra tuščias.
4 pavyzdys
Pažiūrėkime paprastą pavyzdį:
#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>
Aukščiau pateiktame pavyzdyje programa pirmiausia interaktyviai sukuria telefono rinkinį su trimis numerių rinkiniais, tada patikrina, ar rinkinys tuščias, ar ne. Jei rinkinys tuščias, rodomas pranešimas, priešingu atveju rodomi visi rinkinyje esantys telefono numeriai.
' list>'enter>