zoukankan      html  css  js  c++  java
  • C++11:新式的字符串字面常量(String Literal)

      自C++11起,我们可以定义 raw string 字符串字面常量。

      Raw string 允许我们定义所见即所得的字符串字面常量,从而可以省下很多用来修饰特殊

    字符的符号。

      Raw string 以 R"( 开头,以 )" 结尾,可以内含 line break。例如一个用来表示”两个反

    斜线和一个n“的寻常字面常量可以定义如下:

      

    "\\n"

    也可以定义它为如下 raw string literal:

      

    R"(\n)"

    如果要在 raw string 内写出 )" ,可使用定义符 (delimiter)。因此,一个 raw string 的完整语

    法是 R"delim(...)delim",其中 delim 是个字符序列,最多16个基本字符,不可含反斜线,空格

    和小括号。

    举个例子,下面的 raw string literal

      

    R"_LINE_("(1+2) == (2+1)")_LINE_"

    等同于以下寻常 string literal:

      

    "(1+2) == (2+1)"
    1 #include <iostream>
    2 
    3 using namespace std;
    4 
    5 int main()
    6 {
    7     cout<<R"_LINE_("(1+2) == (2+1)")_LINE_"<<endl;
    8     cout<<""(1+2) == (2+1)""<<endl;
    9 }

      C++11中定义正则表达式时,raw string 特别有用。

  • 相关阅读:
    第02组 Beta冲刺(4/4)
    第02组 Beta冲刺(2/4)
    第02组 Beta冲刺(3/4)
    第02组 Beta冲刺(1/4)
    第02组 Alpha事后诸葛亮
    第02组 Alpha冲刺(4/4)
    第02组 Alpha冲刺(3/4)
    第02组 Alpha冲刺(2/4)
    第02组 Alpha冲刺(1/4)
    第02组 Beta版本演示
  • 原文地址:https://www.cnblogs.com/kohlrabi/p/5640762.html
Copyright © 2011-2022 走看看