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 特别有用。

  • 相关阅读:
    hdu 2132 An easy problem
    ACM暑假培训宣讲稿
    hdu Lovekey(水题)
    windows 下c++编译
    semantic
    could not open XXX permission denied
    sv_target_output dx11
    hlsl 的tex函数
    effect state dx11
    cg 到hlsl的转换
  • 原文地址:https://www.cnblogs.com/kohlrabi/p/5640762.html
Copyright © 2011-2022 走看看