كيفية دمج std::vector في C++؟ الطرق الصحيحة للربط
مرحباً بالجميع! لقد بدأت مؤخراً في تعلم C++ وواجهت مهمة تبدو بسيطة، لكنني لا أستطيع إيجاد حل أنيق. أحتاج إلى دمج std::vector في واحد. على سبيل المثال، لدي:
```cpp
std::vector vec1 = {1, 2, 3, 4, 5};
std::vector vec2 = {6, 7, 8, 9, 10};
```
أريد الحصول على vector ثالث `result` يحتوي على جميع العناصر من `vec1` ثم جميع العناصر من `vec2`. أي: `{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`.
المشكلة أنني جربت عدة طرق، لكنها تبدو لي إما غير صحيحة أو معقدة جداً. على سبيل المثال:
1. حاولت استخدام `vec1.insert(vec1.end(), vec2.begin(), vec2.end())`، لكن هذا يغير الـ vector الأصلي `vec1`، بينما أريد الحفاظ على كلا الـ vector الأصليين دون تغيير.
2. جربت كتابة حلقة `for (int num : vec2) { vec1.push_back(num); }`، لكن هذا أيضاً يغير `vec1`.
3. حاولت إنشاء `result` واستخدام `std::copy`، لكنني تشوشت مع الـ iterators.
أرجو إرشادي، ما هي أفضل