les différences entre char * et de la chaîne
Je veux savoir les différences entre char *
et string
.
par exemple, dans ce code:
char *a;
string b;
Quelqu'un peut m'aider s'il vous plaît?
- Le chat peut manger des biscuits, des biscuits, ne peut pas manger un chat.
- Dans les cas extrêmes, le biscuit peut venir à la cat.
- Savez-vous ce qui est commun entre eux?
- Les deux peuvent se situer autour de ne rien faire? (J'espère que vous n'attendiez pas nethin technique 😛 )
- Pas de. Ils sont à la fois pas un dinosaure.
- Comme ils sont tous les deux n'est pas un oiseau? (Nous laissons pas polluer le thread 😛 )
Vous devez vous connecter pour publier un commentaire.
En supposant que vous faites allusion à l'
std::string
,string
est un standard de la bibliothèque de classe de la modélisation de la chaîne.char* est un pointeur sur un char. En C et C++, les différentes fonctions qui prennent un pointeur vers un char en paramètre et piste le long de la mémoire jusqu'à ce qu'un 0 valeur de la mémoire est atteinte (souvent appelé le terminateur null). De cette façon, il modélise une chaîne de caractères;
strlen
est un exemple d'une fonction (de la bibliothèque C standard) qui fait cela.Si vous avez le choix,
std::string
que vous n'avez pas à vous soucier de la mémoire.string
est une classe, que les membres de ce, affirme que le texte que nous attribuons à la chaîne?char*
est un pointeur vers un type primitif:char
string
est une première classe de l'objet à partir de la Bibliothèque de modèles Standard qui encapsule un lot de fonctionnalités (comme la concaténation de deux chaînes de caractères) et le rend plus facile de travailler avec.2 entités très différentes!
si vous vous faites du souci au sujet de la fonctionnalité,
string
est un fonctionnellechar*
je.e vous n'avez pas besoin de vous soucier despace
char*
déclaration/initialisation:
char* str = "Use";
ajoutant:
XXX
trouver longueur:
strlen(str);
//besoin d'inclure<string.h>
ou créer votre proprechaîne
déclaration/initialisation:
string str = "Use";
ajoutant:
str += " This!"
trouver longueur:
str.length()
//le tout dans un fichier d'en-têtechar*
peut aussi être un pointeur vers le 0 (première) place d'un tableau de caractères. Il a été fréquemment utilisée dans C, où l'utilisation de la Chaîne n'est pas pris en charge.Simple,
char *a;
déclare un pointeur 'a' de typechar
,il ne sera point à une constante chaîne de caractères ou des tableaux de caractères.String b;
déclare b comme un objet destring
type.Chaîne ici est une classe qui contient plusieurs de manipulation de chaîne de fonctions membres(méthodes).Vous pouvez regarder ici pour plus de détails:http://www.cplusplus.com/reference/string/string/Un exemple de programme décrivant le
string
objet et de ses membres en fonction est donnée ci-dessous:str
est déclarée comme une chaîne de caractères de l'objet et la fonction de membre desize()
est appelé pour obtenir la taille de str.