luogu p1000 超级玛丽 (用原始字符串写)

首先,科技改变命运;
这次咱也用一哈魔法;
这里用的是c++11里面一个小但是实用的特性-原始字符串(raw string literal)

语法:

C++11 终于行动了,引入了原始字符串。最基本的用法是R"(…)",由R开头,双引号内包围着(…),实际的字符序列是小括号内的内容,小括号是字符序列的定界符。当然,左小括号和右小括号是首位对应的。

“原始”(raw)体现在字符串里的字符一就是一,二就是二,不会给你转义。也就是说,传统的"\n"除了字符串结尾符,仅包含换行符,而原始字符串R"(\n)"则包含反斜杠和字符n,这是明显的不同。

从现在来看,貌似已经很好的解决问题了,但如果字符序列里包含)",如R"(坐标: “(x,y)”)",此时编译器是懵的,因为"(对应了两个)"。在这种情况下,我们可以选择其他定界符,如,R"&(坐标: “(x,y)”)&"。语法如下:
R"delim(…)delim",delim的选取比较灵活,最长不超过16个字符,且不为小括号、空白、控制字符和反斜杠。

下面是代码:

#include<iostream>
using namespace std;
int main()
//R"()"   原始字符串最基本的用法;
//不用再一行一行的复制 
{cout<<R"(                ********
               ************
               ####....#.
             #..###.....##....
             ###.......######              ###            ###
                ...........               #...#          #...#
               ##*#######                 #.#.#          #.#.#
            ####*******######             #.#.#          #.#.#
           ...#***.****.*###....          #...#          #...#
           ....**********##.....           ###            ###
           ....****    *****....
             ####        ####
           ######        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############ )";
return 0; 
}

原始字符串另外的优点:
1, 换行能很好的保留
其他方式都需要人工加\n实现换行。
2,方便拷贝字符串
将拷贝的字符串直接替换R"(…)"中的…,任务就完成了,非常方便。而其他方式,都需要过多的干预拷贝的字符串,非常容易出错。

科技改变命运,靓仔,给爷冲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值