415 votes

Comment convertir un vecteur en tableau C ++

Je veux convertir le vecteur de double en tableau de double. Quelqu'un peut-il m'aider à le faire

613voto

Michael Mrozek Points 44120

Il y a un truc assez simple à faire, puisque la spécification garantit désormais que les vecteurs stockent leurs éléments de manière contiguë:

 std::vector<double> v;
double* a = &v[0];
 

171voto

GManNickG Points 155079

Pour quoi? Vous devez préciser: avez-vous besoin d'un pointeur vers le premier élément d'un tableau ou d'un tableau?

Si vous appelez une fonction de l'API qui attend l'ancien, vous pouvez le faire do_something(&v[0], v.size())v est un vecteur d' doubles. Les éléments d'un vecteur sont contigus.

Sinon, vous avez juste à copier chaque élément:

double arr[100];
std::copy(v.begin(), v.end(), arr);

S'assurer non seulement de thar arr est assez grand, mais qu' arr soit rempli, ou vous avez les valeurs non initialisées.

21voto

user168715 Points 2763
<pre><code></code><p><code></code><code></code>est dans la portée.</p></pre>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X