zoukankan      html  css  js  c++  java
  • C++11:23原始的字面量

    23、原始的字面量

    0、课前秀

    • 字面量的英文词是literal之前我的理解跟 constant一样,可事实上并不一样,具体表示啥,我也没弄太清楚。

    1、原始字面量初入

    • 原始字面量可以直接表示字符串的实际含义,因为有些字符串带有一些特殊字符,比如在转义字符时,我们往往要专门处理。
    • 例:打印一个文件路径
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        string str = "D:AB	est.text";
        cout<<str<<endl;  //D:AB   est.text
        string str1 = "D:\A\B\test.text";
        cout<<str1<<endl; //D:AB	est.text
        string str2 = R"(D:AB	est.text)";
        cout<<str2<<endl;//D:AB	est.text
        
        return 0;
    }
    

    2、原始字符串字面量的定义

    • R "xxx(raw string)xxx",其中原始字符串必须用括号()括起来,括号的前后可以加其它字符串,所加的字符串会被忽略的,而且加的字符串必须在括号的两边同时出现。
    • 定义举例
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        //error test没有出现在反括号后面
        string str = R"test(D:AB	est.text)";
        //error 反括号后面的字符串和括号前面的字符串不匹配
        string str1 = R"test(D:AB	est.text)testaa";
        
        string str2 = R"test(D:AB	est.text)test"; //ok
        cout<<str2<<endl; //将输出D:AB	est.text,括号前后的字符串被忽略
        return 0;
    }
    

    ReadMe

    • 知识点不难,但有点小坑。20200511看完第1版基本理解OK了,《深入应用C++11》的7.2节内容。
  • 相关阅读:
    NYOJ--42--dfs水过||并查集+欧拉通路--一笔画问题
    万能头文件#include
    微信小程序一
    项目上线
    docker
    支付宝支付
    django的分类过滤,区间过滤
    drf分页组件,搜索组件,排序组件,自定义过滤组件
    celery异步执行任务框架
    git使用二
  • 原文地址:https://www.cnblogs.com/fewolflion/p/12968623.html
Copyright © 2011-2022 走看看