web-dev-qa-db-fra.com

Java ArrayList en C ++

Dans Java je peux faire

List<String> data = new ArrayList<String>();
data.add("my name");

Comment pourrais-je faire de même en C++?

23
learner

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 ):

enter image description here

55
Nawaz

Tous combinés dans un vecteur ligne myVec (1, "bonjour");

0
blackmath