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
// C++ program to demonstrate working of raw string literal #include <iostream> using namespace std; // Driver Code int main() { // A Normal string string string1 = "Beginner.\nFor.\nBeginner.\n" ; // A Raw string string string2 = R "(Beginner.\nFor.\nBeginner.\n)" ; cout << string1 << endl; cout << string2 << endl; return 0; } |
Beginner. For. Beginner. Beginner.\nFor.\nBeginner.\n
Time Complexity: O(n)
Space complexity: O(n)
Contact Us