*   >> Lectura Educación Artículos >> science >> programación

Una mirada en profundidad sobre C ++ Core String

ter de una cadena cuyo contenido es constante. El siguiente código ilustra esto: #include using namespace std; int main () {const char * str = "una cadena"; cout return 0; } Debe asignar el valor de retorno de las comillas dobles a un const char *. const char * significa que el contenido del objeto apuntado por el puntero, es constante. En el código, el contenido es "una cadena". En la memoria, el espacio es un código de un byte. Además, en la memoria, la serie de caracteres que forman la cadena termina con \\ 0 (que no se mostrará).

Ahora que el contenido es constante, no se puede cambiar en la memoria, cualquiera de los caracteres que se encuentra en las comillas dobles. Pues bien, el contenido es constante, pero el puntero no es constante. En realidad se puede incrementar el puntero. Puntero constante y el contenido constante no son las mismas cosas. Tenga en cuenta que en el código anterior, el puntero apunta al primer elemento de la cadena. En el siguiente código, el puntero se incrementa. Se hace un intento para cambiar el carácter nuevo en punta y está prohibido.

Debido a esta negativa, el compilador emite un mensaje de error. Pruebe el siguiente código: #include using namespace std; int main () {const char * str = "una cadena"; ++ str; * str = 'e'; cout return 0; } Puntero constante y contenido constante Hemos visto tres situaciones en las que una cadena se puede crear. Con todas las cadenas, no importa la forma, se debe hacer el puntero de la cadena para que apunte al primer carácter de la cadena. Con el segundo y tercer casos anteriores, el puntero apunta a la primera carbón durante la creación.

Con una matriz, el puntero es constante, pero los caracteres de la cadena (matriz) se puede cambiar. Con una cadena literal, el contenido es constante, es decir, los caracteres de la cadena no se puede cambiar, pero el puntero no es constante, y se puede cambiar el puntero. Con el primer ejemplo de código anterior, ni el puntero ni el contenido de la cadena es constante; o bien se puede cambiar (modificado). Hemos llegado al final del artículo. Espero que lo aprecias. Chrys

Page   <<  [1] [2] [3] 
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.