كيفية إضافة متجه إلى نهاية متجه آخر في C++ (append vector to vector)
مرحبًا! لقد بدأت للتو في تعلم C++ و STL. لدي متجهان (vectors)، وأريد إضافة جميع عناصر المتجه الثاني إلى نهاية الأول. جربت عدة طرق، لكن لا شيء يعمل كما توقعت.
إليك الكود الخاص بي:
```cpp
#include
#include
int main() {
std::vector vec1 = {1, 2, 3};
std::vector vec2 = {4, 5, 6};
// أحاول إضافة vec2 إلى vec1
vec1.append(vec2); // خطأ: لا توجد دالة append
// أحاول عبر insert
vec1.insert(vec2.begin(), vec2.end()); // خطأ في الترجمة
// أحاول عبر push_back في حلقة
for (int i = 0; i < vec2.size(); i++) {
vec1.push_back(vec2[i]); // يعمل، لكنه يبدو سيئًا
}
return 0;
}
```
الخيار الأول لا يُترجم على الإطلاق، لأن std::vector لا يحتوي على دالة append. الخيار الثاني يعطي خطأ، لأن insert يتوقع iterator لموضع الإدراج، بينما أنا أمرر نطاقًا فقط. الخيار الثالث يعمل، لكني أعتقد أنه غير فعال.