C++ 字符串原始字面量

C++ 字符串原始字面量

在C++中,字符串原始字面量(raw string literal)是一种特殊的字符串表示方式,用于方便地表示包含转义字符和特殊字符的字符串,而无需使用额外的转义。

基本语法

C++ 字符串原始字面量的基本语法如下:

R"delimiter(字符串内容)delimiter"
  • R:表示字符串原始字面量的前缀,大小写均可。
  • delimiter:定界符(delimiter),可以是任意字符序列,用于标记字符串的开始和结束。

定界符之前的 R"delimiter( 和定界符之后的 )delimiter" 不会包含在字符串值中。

示例

以下是一些使用字符串原始字面量的示例:

const char* normalStr = "Hello\nWorld";
const char* rawStr = R"Hello
World";
const char* delimiterStr = R"delimiter(Hello "World")delimiter";

在上述示例中,normalStr 是常规字符串,包含了转义字符 \nrawStr 是使用字符串原始字面量表示的字符串,不会解释其中的转义字符。delimiterStr 是使用定界符的字符串原始字面量示例。

优点

使用字符串原始字面量具有以下优点:

  • 简化了字符串中特殊字符和转义字符的处理,使字符串更易于阅读和编写。
  • 可以避免意外的转义字符解释,提高代码的可读性。
  • 在处理大量特殊字符和转义序列的字符串时,减少了转义字符的使用,简化了代码。

实战

代码:

#include 
int main()
{
    // 示例1:简单的字符串原始字面量
    const char* str = R"(Hello, World!)";
    std::cout << str << std::endl; // 输出: Hello, World!

    // 示例2:包含转义字符的字符串原始字面量
    const char* str2 = R"(Line 1\nLine 2)";
    std::cout << str2 << std::endl; // 输出: Line 1\nLine 2

    // 示例3:使用自定义定界符的字符串原始字面量
    const char* str3 = R"delimiter(Hello "World")delimiter";
    std::cout << str3 << std::endl; // 输出: Hello "World"

    return 0;
}

输出:

C++ 字符串原始字面量_第1张图片

你可能感兴趣的:(C++,笔记,c++,开发语言,学习,笔记)