Avatar ·

كيفية دمج 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. أرجو إرشادي، ما هي أفضل