2010-10-25 10 views
-1

Quelle est la différence entre la chaîne et le tableau de caractères?Chaînes et tableau de caractères

Comment accéder à chaque élément de la chaîne en C++?

+1

Aller faire ses devoirs? –

+1

Évidemment, aucun effort de recherche. Ne pouvait même pas être dérangé avec un formatage basique sur les deux phrases. –

Répondre

-1

En C, ils sont les mêmes, une chaîne est un tableau de caractères et vous avez beaucoup de méthodes standard pour les traiter comme sprintf, strcat, strcpy, strdup, strchr, strstr ...

En C++ , vous pouvez également utiliser la classe de chaînes STL qui fournira une chaîne orientée objet que vous pouvez manipuler plus facilement. L'avantage est que le code est plus facile à lire et que vous n'avez pas besoin d'allouer/libérer de la mémoire pour les chaînes par vous-même.

+2

Le commentaire d'efficacité est susceptible de prêter à controverse si quelqu'un peut prendre la peine de lire cette question. –

+0

+1 sur 'a pris la peine de lire' – KevinDTimm

+0

Est-ce que ça vaut vraiment la peine d'un vote négatif? Dans mon expérience j'ai vu une différence importante dans la performance, mais je suis d'accord pour une question aussi fondamentale, je pourrais passer cette étape. Je l'enlève dans mon post. –

2

string gère sa propre mémoire; ce n'est pas le cas avec un tableau de char sauf en tant que variable locale.

Dans les deux cas, vous pouvez accéder à des éléments individuels en utilisant [] (mais dans le cas d'une chaîne, il s'agit en fait de operator[]).

string aque vous n'obtenez pas facilement en C++ avec C-Strings.

+0

-1 pour le '[]' n'étant pas un opérateur –

+0

@Let_Me_Be - assez juste, en retirant cela. Merci. –

+1

la pression des pairs est inconstante. ;-) J'ai préféré la formulation précédente. Bien sûr '[]' est un opérateur même pour les chaînes C mais ce n'est pas 'operator []'. –

Questions connexes