原始字面量
概述:
在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; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战