مكتبة القوالب المعيارية (STL) هي مكتبة برمجية صممت للغة سي بلس بلس.[1][2][3] توفر هذه المكتبة ثلاث مكونات رئيسية: الخوارزميات، الحاويات والمكررات. توفر المكتبة مجموعة من الأصناف الجاهزة مثل الحاويات، التي يمكن إستعمالها مع أنواع البيانات الموجودة مسبقا أو أنواع البيانات التي ينشأها المستعمل وتوفر الكثير من العمليات الأساسية مثل الإسناد والنسخ. خوارزميات STL مستقلة عن أي حاوية، مما يقلل من تعقيد المكتبة.
الحاويات
الحاوية | تعريف الحاوية |
---|---|
pair | هي حاوية ترابطية بسيطة تحتوي على عنصرين من البيانات أو من الكائنات. يدعيان first و second، حيث العنصر الأول يعتبر مفتاح والثاني يعتبر قيمة للمفتاح. |
vector | هي مصفوفة ديناميكيةيمكنها إعادة تحجيم نفسها تلقائيا عند الإضافة والحذف. هنالك تحسين خاص بالنوع bool حيث يسمح بتخزينه في مساحة 1 بت بدل بايت كامل. |
list | هي قائمة مترابطة مضاعفة حيث لا تخزن في قطعة واحدة من الذاكرة بل في أماكن متفرقة منها. |
deque | عبارة عن طابور ثنائي الأطراف |
queue | طابور بواجهة FIFO ويوفر عمليات إضافة/حذف/أمام/خلف |
priority queue | مثل queue ولكن العنصر ذو الأسبقية يكون في الأعلى |
stack | مكدس بواجهة LIFO أي العنصر المضاف الأخير يكون في الأعلى |
set | حاوية بيانات حيث لا يمكن تكرار عنصر أكثر من مرة واحدة |
multiset | مثل set ولكن تسمح بتكرار العناصر |
map | حاوية ترابطية حيث تحتوي على عنصرين واحد مفتاح والثاني قيمة، على عكس pair فهي تسمح بإحتواء أكثر من عقدة داخل حاوية واحدة. |
مراجع
- Adrian Stone. "Minimizing Code Bloat: Template Overspecialization". مؤرشف من الأصل في 23 أغسطس 2017.
- More STL algorithms (revision 2) - تصفح: نسخة محفوظة 24 ديسمبر 2010 على موقع واي باك مشين.
- Sutter, Herb; Alexandrescu, Andrei (2004). C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. Addison-Wesley. .