原始字面量

文章参考:爱编程的大丙 (subingwen.cn)

概述:

在C和C++中,如果想在字符串中表示一些特殊字符,往往都是通过特殊字符进行转义。例如输入路径时,想要输入\,就要使用\\,对其进行转义,因为\是特殊字符。而在C++11中,提供了原始字面量这一操作,在原始字面量中省略了转义的操作,可以直接对特殊字符进行表示。

此外,之前如果想要将一个字符串写在不同的行,需要加连接符,而原始字面量则无需加连接符。

语法:

R"xxx(原始字符串)xxx"

其中:

  • R开头说明这是一个原始字面量
  • 两侧的xxx必须一致,但在字符串解析时会被忽略,因此一般不需要加。
  • 原始字符串必须在()内。

Eg:

  • 输出特殊字符:

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main(void){
        string str1 = "D:\\Coding\\test.cpp";
        // 使用原始字面量无需对特殊字符进行转义
        string str2 = R"(D:\Coding\test.cpp)";
        cout << str1 << ednl;
        cout << str2 << ednl;
        return 0;
    }
    

    输出:

    D:\Coding\test.cpp
    D:\Coding\test.cpp
    
  • 字符串跨越多行:

    int main(void){
        string str1 = "one\
        two\
        three";
        // 使用原始字面量无需添加连接符
        string str2 = R"(one
        two
        three)";
        cout << str1 << ednl;
        cout << str2 << ednl;
        return 0;
    }
    
posted @   BinaryPrinter  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示