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 exige 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:
#include <iostream>
#include <vector>
void process_array(int* arr, size_t size) {
for (size_t i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
}
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// Como obter int* a partir de vec?
// process_array(vec, vec.size()); // Erro!
return 0;
}
Ouvi dizer que existe um método <
No answers yet.
Faça login para deixar uma resposta