Avatar ·

Comment initialiser simplement un std::vector avec des éléments prédéfinis en C++ ?

Bonjour ! J'ai récemment commencé à apprendre le C++ et j'ai rencontré un problème. Je dois créer un vector qui contient immédiatement plusieurs nombres spécifiques, par exemple : 1, 2, 3, 4, 5. En Python, j'écrirais simplement `my_list = [1, 2, 3, 4, 5]`, mais en C++ c'est un peu plus compliqué. Je sais qu'on peut d'abord déclarer un vector, puis ajouter les éléments un par un avec `push_back` : ```cpp std::vector v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5); ``` Mais c'est très verbeux et peu pratique, surtout s'il y a 10 ou 20 éléments. J'ai aussi essayé de déclarer un vector en spécifiant sa taille, puis d'assigner les valeurs par index : ```cpp std::vector v(5); v[0] = 1; v[1] = 2; v[2] = 3; v[3] = 4; v[4] = 5; ``` Mais cela semble aussi peu élégant. Je pense qu'il doit y avoir une manière plus simple et élégante en C++. J'ai entendu parler de `initializer_list`, mais je n'ai pas bien compris comment ça fonctionne. Existe-t-il une solution en une ligne, comme en Python ou JavaScript ?