C++11 原生字符串

本文介绍了C++11引入的原生字符串概念,旨在解决字符串转义带来的问题。原生字符串允许自定义分隔符,避免了转义字符的困扰,支持多行定义,并且字符串中的空白和换行都将被保留在字符串内。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、原生字符串定义

C/C++中提供了字符串,字符串支持转义,在某些时候给我们提供了便利,比如换行符\n,制表符\t。但在我们不需要的时候又成了麻烦,如果需要原生义的时候,需要反转义,比较麻烦。

针对这个问题,C++11提供了原生字符串,即字符串中无转义,亦无需再反义。

原生字符串的准确定义应该是:

R"自定义分隔符(字符串)自定义分隔符"

前后两处自定义分隔符必须一致,可以省略,所以我们看到的一般原生字符串为:
std::string word = R"(hello world)";

提供自定义分隔符的用意为,当你的字符串中出现)"时,编译器会以为字符串已经终结而出错,这种场景下你可以定义自己比较独特的分隔符,如:
std::string word = R"mydel(hello )" world)mydel";
这样,编译器会将mydel()mydel中间部分提取为字符串。

#include <iostream>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值