首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++11 原始字符串字面量詳解

     編輯:關於C++

什麼是原始字符串?

原始字符串字面量不進行轉義處理,內容按原樣保留。Python 中以 r'...' 表示,C++11 則使用 R"分隔符(內容)分隔符" 語法。

語法規則

  • 以 R 開頭,後接雙引號。
  • 自定義分隔符(可為空),後接左括號 (。
  • 字符串內容可包含任意字符,包括換行、反斜槓、引號等。
  • 以右括號 ) 加相同分隔符加雙引號結束。

例如:R"(C:\Windows\System32)" 表示字面路徑,無需雙重反斜槓。

代碼示例

#include 
#include 
int main() {
    // 普通字符串:\n 會被轉義為換行
    std::string normal = "First line.\nSecond line.\nEnd.\n";
    // 原始字符串:\n 保持為兩個字符
    std::string raw = R"(First line.\nSecond line.\nEnd.\n)";
    std::cout << "Normal:\n" << normal;
    std::cout << "Raw:\n" << raw;

    // 自定義分隔符,允許內容包含 )"
    std::cout << R"foo(Hello, "world"!)foo" << std::endl;

    // 多行原始字符串
    std::cout << R"(
    這裡可以
    隨意換行
    和縮進
    )";
}

應用場景

  • 正則表達式模式(避免雙重轉義)
  • Windows 路徑、JSON、XML、SQL 等多行文本
  • 內嵌代碼片段、Shader 源碼等
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved