مقدمة
في الدرس السابق تعرفنا على Iterators، وعرفنا كيف تساعدنا على التنقل بين عناصر حاويات STL والوصول إليها.
ومن أهم الحاويات في C++ حاوية vector.
تعتبر vector من أكثر الحاويات استخدامًا لأنها تسمح بتخزين مجموعة من العناصر مع إمكانية تغيير حجمها أثناء تشغيل البرنامج.
---
ما هو vector؟
vector هو حاوية موجودة في مكتبة C++ القياسية، وتستخدم لتخزين مجموعة من العناصر من النوع نفسه.
ويشبه المصفوفة من حيث الوصول إلى العناصر باستخدام الفهرس، لكنه أكثر مرونة لأن حجمه يمكن أن يتغير أثناء تشغيل البرنامج.
---
لماذا نستخدم vector؟
يمكن استخدام vector عندما نحتاج إلى تخزين عدد من العناصر ولا نعرف عددها النهائي مسبقًا.
ومن أهم مميزاته:
تغيير الحجم تلقائيًا
الوصول السريع إلى العناصر
إضافة عناصر جديدة
حذف عناصر
العمل مع Iterators
العمل مع خوارزميات STL
---
الوصول إلى العناصر
يمكن الوصول إلى عناصر vector باستخدام الفهرس.
ويبدأ الفهرس في C++ من الصفر.
أي أن أول عنصر يكون عند الفهرس 0، والثاني عند 1، وهكذا.
---
إضافة العناصر
يمكن إضافة عناصر جديدة إلى نهاية vector.
وهذا يجعل vector مناسبًا للبرامج التي تستقبل بيانات جديدة أثناء التشغيل.
---
حذف العناصر
يمكن حذف عناصر من vector باستخدام الأدوات التي توفرها الحاوية.
ويجب الانتباه إلى أن حذف عنصر قد يؤثر في مواقع العناصر الموجودة بعده.
---
معرفة عدد العناصر
يوفر vector طريقة لمعرفة عدد العناصر الموجودة بداخله.
وهذا مفيد عند المرور على العناصر أو التحقق من حجم البيانات.
---
vector وIterators
يمكن استخدام begin() وend() مع vector للحصول على Iterators تشير إلى بداية ونهاية نطاق العناصر.
وهذا يسمح باستخدام خوارزميات STL مع vector.
---
vector وAlgorithms
من أهم مميزات vector أنه يعمل بشكل ممتاز مع خوارزميات STL.
يمكن استخدام الخوارزميات معه للبحث والترتيب ومعالجة البيانات.
وهذا يجعله من أكثر الحاويات استخدامًا في C++.
---
vector في المشاريع
يستخدم vector في العديد من التطبيقات، مثل:
الألعاب
معالجة البيانات
البرامج الهندسية
الخوارزميات
التطبيقات الكبيرة
---
فوائد vector
من أهم فوائده:
مرونة الحجم
سهولة الاستخدام
الوصول السريع للعناصر
التكامل مع STL
العمل مع Iterators وAlgorithms
---
أخطاء شائعة عند المبتدئين
من الأخطاء الشائعة:
الوصول إلى فهرس غير موجود
الخلط بين حجم vector وسعته الداخلية
حذف العناصر أثناء التكرار بطريقة غير صحيحة
نسيان أن الفهرسة تبدأ من الصفر
استخدام vector دون فهم طبيعة البيانات
---
ملخص الدرس
تعرفنا في هذا الدرس على vector في C++، وعرفنا أنه حاوية مرنة لتخزين مجموعة من العناصر، كما تعرفنا على الوصول إلى العناصر وإضافتها وحذفها وعلاقته بـ Iterators وAlgorithms.
في الدرس السابع والثلاثون سنتعرف على string في C++ بشكل أعمق، وسنفهم كيف يمكن التعامل مع النصوص والبحث فيها وتعديلها.



