مقدمة إلى std::vector
جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 9 من 56.
لقد كنت تعمل مع مصفوفات نمط C التقليدية، والتي لها حجم ثابت يجب تحديده عند كتابة التعليمات البرمجية الخاصة بك. ولكن ماذا لو كنت بحاجة إلى مجموعة يمكن أن تنمو أو تتقلص أثناء تشغيل برنامجك؟ هنا تبرز الأهمية الكبيرة لـ std::vector من مكتبة القوالب القياسية (STL).
المتجه (vector) هو في الأساس مصفوفة ديناميكية - حيث يمكنه تغيير حجمه تلقائيًا عند إضافة العناصر أو إزالتها. وعلى عكس المصفوفات العادية التي تتطلب تحديد الحجم مسبقًا، تتولى المتجهات إدارة الذاكرة نيابةً عنك، فتتوسع تلقائيًا عندما تحتاج إلى مساحة أكبر (علماً بأن إزالة العناصر تقلل من الحجم، إلا أن المتجه لا يقوم تلقائيًا بتحرير الذاكرة الأساسية).
لاستخدام المتجهات (vectors) في برنامجك، تحتاج إلى تضمين الترويسة (header) المناسبة في الجزء العلوي من ملفك:
#include <vector>تجعل هذه المرونة المتجهات (vectors) مثالية للحالات التي لا تعرف فيها عدد العناصر التي ستحتاجها مسبقاً، أو عندما يتغير عدد العناصر أثناء تنفيذ البرنامج. توفر المتجهات راحة الإدارة التلقائية للذاكرة مع الاستمرار في تقديم الأداء وبنية الجملة المألوفة للمصفوفات (arrays).
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المؤشرات والذاكرة
ما هو المؤشر؟معامل العنوان (Address-Of)معامل الوصول للقيمة (Dereference)المؤشرات الفارغة (Null Pointers)المؤشرات والمصفوفاتالذاكرة الديناميكية باستخدام 'new'تحرير الذاكرة باستخدام 'delete'مراجعة - تمارين على المؤشرات2المتجهات (المصفوفات الديناميكية)
مقدمة إلى std::vectorإنشاء Vectorإضافة العناصرالوصول إلى العناصرحجم الـ Vectorالتكرار باستخدام For Loopالـ Range-Based For Loopإزالة العناصرملخص - عمليات الـ Vector