Dans Java je peux faire
List<String> data = new ArrayList<String>();
data.add("my name");
Comment pourrais-je faire de même en C++?
Utilisation std::vector
et std::string
:
#include <vector> //for std::vector
#include <string> //for std::string
std::vector<std::string> data;
data.Push_back("my name");
Notez qu'en C++, vous n'avez pas besoin d'utiliser new
chaque fois que vous créez un objet. L'objet data
est initialisé par défaut en appelant le constructeur par défaut de std::vector
. Donc, le code ci-dessus est très bien.
En C++, la devise est: Évitez autant que possible new
.
Si vous connaissez déjà la taille au moment de la compilation et que le tableau n'a pas besoin de s'agrandir, vous pouvez utiliser std::array
:
#include <array> //for std::array
std::array<std::string, N> data; //N is compile-time constant
data[i] = "my name"; //for i >=0 and i < N
Lisez la documentation pour plus de détails:
La bibliothèque C++ Standard possède de nombreux conteneurs. Selon la situation, vous devez choisir celui qui convient le mieux à votre objectif. Il ne m'est pas possible de parler de chacun d'eux. Mais voici le tableau qui aide beaucoup ( source ):
Tous combinés dans un vecteur ligne myVec (1, "bonjour");