Como converter std::vector em um array comum (C-style array) em C++?
Olá a todos! Estou escrevendo um programa em C++ e me deparei com um problema. Eu tenho um std::vector que estou preenchendo com dados, mas uma das bibliotecas que estou usando requer como entrada um array C comum (int*). Como posso obter do vetor um ponteiro bruto para seus dados internos para passá-lo para a função?
Aqui está um exemplo do meu código:
\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 // Como obter int* a partir de vec?\n // process_array(vec, vec.size()); // Erro!\n \n return 0;\n}\n\nOuvi dizer que existe um método <