*   >> Lecture Éducation Articles >> science >> la programmation

Un regard en profondeur dans C ++ de base String

ittérale. Une chaîne vide littérale est l'ouverture et la fermeture des guillemets juste à côté de l'autre. Les guillemets doubles (vides ou non) renvoie un pointeur sur le premier caractère d'une chaîne dont le contenu est constante. Le code suivant illustre cela: #include using namespace std; int main () {const char * str = "une chaîne"; Cout return 0; } Vous devez affecter la valeur de retour des guillemets à un const char *. const char * signifie que le contenu de l'objet pointé par le pointeur, est constante. Dans le code, le contenu est "une chaîne".

Dans la mémoire, l'espace est un code d'un octet. Aussi, dans la mémoire, la série de caractères constituant la chaîne se termine par \\ 0 (qui ne seraient pas affiché). Maintenant que le contenu est constante, vous ne pouvez pas changer dans la mémoire, l'un des personnages qui est dans les guillemets. Eh bien, le contenu est constant, mais le pointeur est pas constante. Vous pouvez effectivement incrémenter le pointeur. Pointeur Constant et le contenu constants ne sont pas les mêmes choses. On notera que dans le code ci-dessus, le pointeur pointe vers le premier élément de la chaîne.

Dans le code suivant, le pointeur est incrémenté. Une tentative est faite pour changer le nouveau caractère pointu et il est interdit. En raison de ce refus, le compilateur émet un message d'erreur. Essayez le code ci-dessous: #include using namespace std; int main () {const char * str = "une chaîne"; ++ str; * str = 'e'; Cout return 0; } Pointer Constant et contenu Constant Nous avons vu trois situations dans lesquelles une chaîne peut être créé. Avec toutes les chaînes, peu importe la forme, le pointeur de la chaîne doit être fait pour pointer vers le premier caractère de la chaîne.

Avec les deuxième et troisième cas ci-dessus, les points de pointeur vers le premier caractère lors de la création. Avec un tableau, le pointeur est constante, mais les caractères de la chaîne (tableau) peut être modifié. Avec une chaîne littérale, le contenu est constante, ce qui signifie les caractères de la chaîne ne peut pas être changé, mais le pointeur est pas constante, et vous pouvez changer le pointeur. Avec le premier exemple de code ci-dessus, ni le pointeur ni le contenu de la chaîne est constante; soit peut être changé (modifiée). Nous avons atteint la fin de l'article.

Je espère que vous appréciez. Chrys

Page   <<  [1] [2] [3] 
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.