Avatar ·

Comment convertir std::vector en tableau classique (C-style array) en C++ ?

Bonjour à tous ! J'écris un programme en C++ et j'ai rencontré un problème. J'ai un std::vector que je remplis avec des données, mais l'une des bibliothèques que j'utilise nécessite en entrée un tableau C classique (int*). Comment puis-je obtenir à partir du vecteur un pointeur brut vers ses données internes pour le passer à une fonction ?

\n\n

Voici un exemple de mon code :

\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    // Comment obtenir int* à partir de vec ?\n    // process_array(vec, vec.size()); // Erreur !\n    \n    return 0;\n}
\n\n

J'ai entendu dire qu'il existe une méthode <