كيفية تحويل std::vector إلى مصفوفة عادية (C-style array) في C++؟
مرحباً بالجميع! أنا أكتب برنامجاً بلغة C++ وواجهت مشكلة. لدي std::vector أقوم بتعبئته بالبيانات، لكن إحدى المكتبات التي أستخدمها تتطلب إدخال مصفوفة C عادية (int*). كيف يمكنني الحصول من الـ vector على مؤشر خام (raw pointer) لبياناته الداخلية لتمريرها إلى الدالة؟
هذا مثال على الكود الخاص بي:
\n\n#include <iostream>\n#include <vector>\n\nvoid process_array(int* arr, size_t size) {\n for (size_t i = 0; i < size; ++i) {\n std::cout << arr[i] << " ";\n }\n}\n\nint main() {\n std::vector<int> vec = {1, 2, 3, 4, 5};\n \n // كيف أحصل على int* من vec؟\n // process_array(vec, vec.size()); // خطأ!\n \n return 0;\n}\n\nسمعت أن هناك طريقة <