Bonjour,
Est ce que ce code fonctionne pour declarer un tableau de string?
Est ce que ce code fonctionne pour remplir un tableau de string?Code:String tabT[100000];
merciCode:
1
2
3
4 tabT[0]="toto"; tabT[1]="titi"; tabT[2]="tata"; ...
Version imprimable
Bonjour,
Est ce que ce code fonctionne pour declarer un tableau de string?
Est ce que ce code fonctionne pour remplir un tableau de string?Code:String tabT[100000];
merciCode:
1
2
3
4 tabT[0]="toto"; tabT[1]="titi"; tabT[2]="tata"; ...
Oui mais attention std::string ou string mais pas String ;)Code:String tabT[100000];
Ça fonctionne aussi ;)Code:
1
2
3 tabT[0]="toto"; tabT[1]="titi"; tabT[2]="tata";
Salut,
Cela fonctionne effectivement, mais, l'utilisation de tableaux "C style" n'est clairement pas recommandée, surtout si tu prévois de devoir y placer des milliers d'éléments :aie:
Surtout si les différentes chaines sont introduites à des moments différents (car réserver la place pour 100000 chaines et n'en placer que trois ou quatre, ca représente un sérieux gâchis de place en mémoire :D)
A ce niveau, tu aurais largement intérêt à utiliser la classe vector, offerte par le standard dans l'espace de noms std par inclusion du fichier <vector>.
Il s'agit d'une classe qui englobe l'ensemble des fonctionnalités que l'on peut attendre d'un tableau "C style" en apportant la sécurité et la facilité d'utilisation qui leur manque ;)
Cela te permettrait d'utiliser un code proche de
Maintenant, il n'est pas exclu que, selon ce que tu souhaite faire, un tableau ne soit pas le genre de conteneur le plus adapté...Code:
1
2
3
4
5 std::vector<std::string> tab; // pas besoin de spécifier le nombre de chaines // la gestion de la mémoire se fait automatiquement tab.push_back("titi"); tab.push_back("toto"); tab.push_back("tutu");
Tu peux donc te baser sur cette entrée de la FAQ afin de déterminer ce qui sera le plus adapté à ton problème ;)
N'oublie pas qu'un vector amorti le problème de l'allocation mémoire, et que tu peux de toutes manières demander de réserver l'espace pour un nombre particulier...
Mais, quoi qu'il en soit: si le tableau reste "plutot vide" plus longtemps qu'il n'est rempli ou que 100 000 correspond à une valeur arbitraire pour être sur d'avoir la place, c'est du gâchis ;)
De toutes manières, en effet ;)Citation:
Soit dit en passant, 100 000 éléments, ça mériterait peut être aussi de réfléchir au stockage du contenu des chaînes.