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