Raw String Literal in C++
A Literal is a constant variable whose value does not change during the lifetime of the program. Whereas, a raw string literal is a string in which the escape characters like ‘ \n, \t, or \” ‘ of C++ are not processed. Hence, a raw string literal that starts with R”( and ends in )”.
The syntax for Raw string Literal:
R "delimiter( raw_characters )delimiter" // delimiter is the end of logical entity
Here, delimiter is optional and it can be a character except the backslash{ / }, whitespaces{ }, and parentheses { () }.
These raw string literals allow a series of characters by writing precisely its contents like raw character sequence.
Example:
Ordinary String Literal
"\\\\n"
Raw String Literal
\/-- Delimiter
R"(\\n)"
/\-- Delimiter
Difference between an Ordinary String Literal and a Raw String Literal:
Ordinary String Literal |
Raw String Literal |
It does not need anything to be defined. |
It needs a defined line{ parentheses ()} to start with the prefix R. |
It does not allow/include nested characters. |
It allows/includes nested character implementation. |
It does not ignore any special meaning of character and implements their special characteristic. |
It ignores all the special characters like \n and \t and treats them like normal text. |
Example of Raw String Literal:
CPP
#include <iostream>
using namespace std;
int main()
{
string string1 = "Geeks.\nFor.\nGeeks.\n" ;
string string2 = R "(Geeks.\nFor.\nGeeks.\n)" ;
cout << string1 << endl;
cout << string2 << endl;
return 0;
}
|
Output
Geeks.
For.
Geeks.
Geeks.\nFor.\nGeeks.\n
Time Complexity: O(n)
Space complexity: O(n)
Last Updated :
27 Jan, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...