سي ++ فارغ() يتم استخدام الوظيفة للتحقق مما إذا كانت الحاوية المحددة فارغة أم لا. يعود حقيقي إذا كانت الحاوية المحددة فارغة (الحجم هو 0)، وإلا فسيتم إرجاعها خطأ شنيع .
بناء الجملة
bool empty() const; // until C++ 11 bool empty const noexcept; //since C++ 11
معامل
لا أحد
قيمة الإرجاع
يعود حقيقي إذا كانت الحاوية المحددة فارغة (الحجم هو 0)، وإلا فسيتم إرجاعها خطأ شنيع .
تعقيد
ثابت.
صلاحية التكرار
لا تغيرات.
سباقات البيانات
تم الوصول إلى الحاوية.
يعد الوصول المتزامن إلى عناصر المجموعة أمرًا آمنًا.
سلامة الاستثناء
هذه الوظيفة لا تطرح استثناءً أبدًا.
مثال 1
دعونا نرى المثال البسيط للتحقق مما إذا كانت المجموعة تحتوي على أي عنصر أم لا:
#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() << ' '; }
انتاج:
Initially, numbers.empty(): 1 After adding elements, numbers.empty(): 0
في المثال أعلاه، الحجم الأولي للمجموعة هو 0، وبالتالي، ترجع الدالة الفارغة () 1 (صحيح) وبعد إضافة العناصر فإنها ترجع 0 (خطأ).
مثال 2
دعونا نرى مثالاً بسيطًا للتحقق مما إذا كانت المجموعة فارغة أم لا:
#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; }
انتاج:
Set is empty Set is not empty
في المثال أعلاه، إذا تم استخدام بيان الشرط. إذا كانت المجموعة فارغة، فسوف تُرجع المجموعة فارغة بعد ذلك، وإضافة عناصر، فسوف تُرجع المجموعة ليست فارغة.
مثال 3
دعونا نرى مثالا بسيطا:
#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; }
انتاج:
100 200 300
في المثال أعلاه، يستخدم ببساطة الدالة الفارغة () في أثناء الحلقة ويطبع عناصر المجموعة حتى تصبح المجموعة ليست فارغة.
مثال 4
دعونا نرى مثالا بسيطا:
#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>
في المثال أعلاه، يقوم البرنامج أولاً بإنشاء جهاز هاتف بشكل تفاعلي بثلاث مجموعات من الأرقام، ثم يتحقق مما إذا كانت المجموعة فارغة أم لا. إذا كانت المجموعة فارغة، فسيتم عرض رسالة بخلاف ذلك، فسيتم عرض جميع أرقام الهاتف المتوفرة في المجموعة.
10 مل إلى أوقية
' list>'enter>