Literal de string sin formato en C++

Un Literal es una variable constante cuyo valor no cambia durante la vida del programa. Mientras que un literal de string sin formato es una string en la que los caracteres de escape como ‘ \n , \t o \” ‘ de C++ no se procesan. Por lo tanto, un literal de string sin formato que comienza con R”( y termina en )”.

La sintaxis para el literal de string sin procesar:

R "delimiter( raw_characters )delimiter" // delimiter is the end of logical entity

Aquí, el delimitador es opcional y puede ser un carácter excepto la barra invertida{ / }, los espacios en blanco{ } y los paréntesis {() }.

Estos literales de string sin formato permiten una serie de caracteres escribiendo precisamente su contenido como una secuencia de caracteres sin formato

Ejemplo:

Literal de string ordinaria 

"\\\\n"

Literal de string sin formato 

  \/-- Delimiter
R"(\\n)"
     /\-- Delimiter

Diferencia entre un literal de string ordinario y un literal de string sin procesar:

Literal de string ordinaria Literal de string sin formato
No necesita nada para ser definido. Necesita una línea definida{ paréntesis()} para comenzar con el prefijo R.
No permite/incluye caracteres anidados. Permite/incluye la implementación de caracteres anidados.
No ignora ningún significado especial de carácter e implementa su característica especial. Ignora todos los caracteres especiales como \n y \t y los trata como texto normal.

Ejemplo de literal de string sin procesar:

CPP

// C++ program to demonstrate working of raw string literal
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    // A Normal string
    string string1 = "Geeks.\nFor.\nGeeks.\n";
 
    // A Raw string
    string string2 = R"(Geeks.\nFor.\nGeeks.\n)";
 
    cout << string1 << endl;
 
    cout << string2 << endl;
 
    return 0;
}
Producción

Geeks.
For.
Geeks.

Geeks.\nFor.\nGeeks.\n

Este artículo es una contribución de MAZHAR IMAM KHAN . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *