Se corrigió la cadena de error C ++ está indefinido

Se corrigió la cadena de error C ++ está indefinido
Cuando ejecutamos un programa, ocasionalmente obtenemos resultados extraños en lugar de la salida deseada. La cadena indefinida en la programación de C ++ se refiere a cuando un programa no se compila, cuando se ejecuta mal, se bloquea o produce resultados inexactos, o cuando lo hace precisamente lo que el programador pretendía por casualidad. Se considera que tiene un error de cadena indefinido cuando el resultado de un programa en ejecución es incierto.

En este artículo, vamos a resolver la cadena indefinida de las formas efectivas respaldadas por el lenguaje de programación C ++. Comprender las excepciones de cadena indefinidas como un programador C ++ es esencial para la codificación efectiva y el rendimiento del programa, particularmente cuando los códigos C ++ están integrados con la arquitectura del sistema.

El enfoque para arreglar el error "la cadena no está definida" en c++

Si es nuevo en el lenguaje de programación C ++, puede encontrar errores como la cadena C ++ no está definida. En C ++, tenemos dos formas de resolver el error para una cadena indefinida.

  1. espacio de nombres std: El espacio de nombres STD significa que utilizamos el espacio de nombres STD. "STD" es un acrónimo de Standard. Como resultado, usamos todo en el espacio de nombres "ETS". Tenemos que usar el espacio de nombres STD con la palabra clave utilizada en la sección del encabezado para aplicarla a todo el archivo.
  2. std :: cadena: La definición de C ++ incluye un método para representar una serie de caracteres como objeto de clase. Esta clase se conoce como std :: string. Como la variable de cadena está disponible en el espacio de nombres STD, así usamos std :: cadena siempre que declaramos la cadena en el código. El STD se usa con el operador de resolución de alcance en el lenguaje de programación C ++.

Ejemplo 1

Aquí en nuestro primer ejemplo, vamos a mostrar cómo el compilador C ++ arroja un error de cadena está indefinido. Al comienzo de nuestro programa, importamos una biblioteca llamada "Iostream". El IOSTream es un archivo de encabezado en C ++ que especifica una colección de funciones de entrada y salida estándar. También contiene objetos de transmisión de E/S como cin, cout, obstrucción, etc. El cout se utiliza para mostrar la salida "Ingrese su nombre".

Después de esta línea, tenemos el comando CIN que toma la entrada del usuario para la cadena "Namestr". A través del comando cout, se mostrará la salida y la entrada. El "return 0" utilizado al final de la función principal ejecuta la función con éxito.

#incluir
int main ()

cadena namestr;
cout << "Enter your name "NameStr;
cout << "Your Name : " << NameStr << endl;
regresar 0;

Puede tener en cuenta que la compilación del programa anterior da un error de esta manera, y también sugiere la forma de declarar la cadena en la función principal. Tenemos un resultado inesperado de la ejecución anterior.

Ejemplo 2

El programa de ilustración anterior arroja el error de cadena indefinido. Ahora, tenemos que resolver el error de la cadena indefinida mediante el uso de Namespace STD en la sección del archivo del encabezado. Hemos incluido el archivo iostream en el programa c++. Debajo del archivo iostream, hemos incluido el archivo "Namespace STD" con la palabra clave "Usando". El espacio de nombres STD nos ayudará a superar la cadena de error indefinido. Luego, creamos dos espacios de nombres "Integer" y "Doble".

En el bloque del espacio de nombres "entero", hemos declarado dos variables "A" y "B" de tipo entero y las inicializamos con los valores numéricos. Hemos hecho lo mismo en el bloque de "doble" espacio de nombres, pero el tipo utilizado es doble. Tenga en cuenta que hemos definido variables con los mismos nombres "A" y "B" en ambos espacios de nombres. Esta es la propiedad del espacio de nombres que nos permite declarar variables y funciones con el mismo nombre.

Luego, tenemos la función principal que accede a las variables del espacio de nombres utilizando el operador de resolución de alcance. A través del comando Cout, mostraremos el valor de la variable "A" del espacio de nombres "Integer" y el valor de la variable "B" del espacio de nombres "Doble".

#incluir
usando el espacio de nombres STD;
entero de espacio de nombres

int a = 2;
int b = 8;

espacio de nombres

DOBLE A = 1.888;
doble b = 2.745;

int main ()
usando entero :: a;
Usando Double :: B;
cout << "a="<< a << endl;
cout << "b="<< b << endl;
cout << "Integer="<< Integer::a << endl;
cout << "Double="<< Double::b << endl;
regresar 0;

Tenemos un resultado esperado mediante el uso de Namespace STD en la sección del archivo de encabezado del programa anterior.

Ejemplo 3:

Tenemos otra forma de deshacerse del error indefinido de la cadena, que está utilizando STD con el operador de resolución de alcance al definir la variable de cadena de tipo. En el siguiente programa, hemos importado dos archivos estándar "iOStream" y "cadena" que compiló bien el código. Se define la función principal y el cuerpo de la función principal tiene el comando STD Cout al principio con el operador de resolución de alcance. Se usa para mostrar los datos de salida.

Luego, hemos usado STD con el operador de resolución de alcance para la variable de cadena. Evitará el error de la cadena indefinida en el programa. El comando STD CIN obtendrá el valor del usuario, y la última línea tiene el comando STD CoUT que se utiliza para mostrar los datos y los valores de salida utilizados para haber ingresado.

#incluir
#incluir
int main ()

std :: cout reg_no;
std :: cout grado;
std :: cout <<"Your Registartion Number is" << Reg_No << "and Your Degree is " << Degree << '\n';
regresar 0;

El enfoque de cadena std :: evita el error de que la cadena está indefinida. El resultado se muestra en la pantalla de la consola de Ubuntu.

Ejemplo 4

En lugar de usar STD con resolución de alcance con cada variable, función o comando; Podemos incluir el operador de resolución de ETS con alcance definiéndolo en la sección del encabezado con la palabra clave "Usando". Como puede ver, después de importar el archivo estándar en C ++, tenemos una instrucción STD :: String con la palabra clave "Usando" y también algunas otras declaraciones de STD requeridas.

Luego, tenemos una función de cadena y en el constructor de esta función, hemos dado la referencia de cadena "& st". En el bloque de función de cadena, hemos definido un método "rbegin" para revertir la cadena y un método de "representar" para devolver el extremo inverso de la cadena especificada. Después de eso, tenemos la función principal donde la variable de cadena se define e inicializa.

#incluir
#incluir
#incluir
usando std :: cout; usando std :: endl;
usando std :: string; usando std :: reverse;
String Revstr (String & ST)
Cadena reversa (ST.rbegin (), st.desgarrar());
regresar reverso;

int main ()
cadena myString = "Invertir la cadena";
cout << MyString << endl;
cout << RevStr(MyString) << endl;
regresar 0;

También podemos evitar la cadena de error indefinido de esta manera. No tenemos que escribir una declaración STD con cada declaración de cadena en el código. Podemos definirlo en la sección del encabezado solo una vez. Los resultados se muestran en la siguiente imagen.

Conclusión

Ahora, llegamos a saber cómo eliminar la cadena de error indefinido en c++. Hemos pasado por la probable causa del error con el ejemplo de ejecución en el artículo. Examinamos el programa que no estaba usando el espacio de nombres STD y STD :: String, y determinamos cuán importantes son en código C ++. Estos enfoques seguramente ayudarán a los programadores a evitar el error de cadena indefinido.