C++——新类型与原始字面量(原始字符串)
1.1新类型
C++11新增类型long long和unsigned long long,以支持64位(或者更宽)整型;新增了char16_t和char32_t以支持16位和32为字符表示;还新增了原始字符串。
1.1.1原始字符串(原始字面量)
在C++ Prime Plus(第六版) 104页中介绍了原始(raw)字符串。
在编程中假如遇到了字符串“\n”
,这里表示换行的意思,即"\n"
表示的是一个字符——换行。那如果我们想表示一个'\'
一个'\'
该怎么办呢?在C语言中是这样写"\\n"
。一个这样写很容易,但一个字符串里有多个\与字母的组合时我们只想让其表达字面意思怎么办呢?这时原始字符串出场了。定义方式为R “xxx(原始字符串)xxx”
;比如:
cout<<R"(jim "king" Tutt uses "\n" instead of endl.)"<<'\n'
上述代码将显示以下内容
jim "king" Tutt uses "\n" instead of endl.
代码举例:
#include<iostream>
#include<string>
using namespace std;
int main(int argc,char const *argv[])
{string str = "D:\C++\hello world\test.cpp";cout << str << endl;string str = "D:\\C++\\hello world\\test.cpp";cout << str1 << endl;string str = R"(D:\C++\hello world\test.cpp)";cout << str2 << endl;return 0;
}
输出结果为:
D:C++hello world est.cpp
D:\C++\hello world\test.cpp
D:\C++\hello world\test.cpp
在 D:\C++\hello world\test.cpp 中 \h 和 \C 转译失败,对应的字符会原样输出。
在 D:\C++\hello world\test.cpp中路径的间隔符为 \ 但是这个字符又是转译字符,因此需要使用转译字符将其转译,最终才能得到一个没有特殊含义的普通字符 \。
在 R"(D:\C++\hello world\test.cpp)"使用了原始字面量 R()中的内容就是描述路径的原始字符串,无需做任何处理。
string str = R"abc(D:\C++\hello world\test.cpp)abc";
即R后面的两处xxx字符要完全一样。否则编译报错。
C++——新类型与原始字面量(原始字符串)相关推荐
- c++语言自定义操作符,C++11新特性之自定义字面量
1.示例 C++11新标准中引入了用户自定义字面量,也叫自定义后缀操作符,即通过实现一个后缀操作符,将申明了该后缀标识的字面量转化为需要的类型.考察如下代码: long double operator ...
- java se7 变化_Java SE7新特性之二进制字面量
Java SE 7中, 整数类型(byte, short, int以及long) 也可以使用二进制数系来表示.要指定一个二进制字面量,可以给二进制数字添加前缀 0b 或者 0B.下面的示例展示了一些二 ...
- C++ 11 深度学习(十)原始字面量
你是否曾经为了各种json格式无法写入string中而烦恼,为了各种转义而烦恼.如下图 c++11为我们带来了全新的解决方法 其新特性为使用. R"(xxxxxxxxxxxx)" ...
- [C++11]字符串原始字面量
代码如下: #include <iostream> #include <string> using namespace std;int main() {string str1 ...
- [译]ES6新特性:八进制和二进制整数字面量
原文:http://whereswalden.com/2013/08/12/micro-feature-from-es6-now-in-firefox-aurora-and-nightly-binar ...
- C++11新特性之新类型与初始化
C++11新特性之新类型与初始化 snoone | 2016-06-23 11:57 浏览量(148) 评论(0) 推荐(0) 数据 这是C++11新特性介绍的第一部分,比较简单易懂, ...
- 02_星仔带你学Java之变量、常量、字面量、数据类型
资料和代码存放地址:<华星详谈-学习中心>.开源项目持续更新中. 大家好,我是星仔.本博客收录于华星详谈-学习中心.本学习中心收集了Java整个技术体系的所有技术要点.每篇博客后面 ...
- Python字面量、注释、变量、数据类型、数据类型的转换、标识符、运算符、字符串扩展、字符串格式化、数据输入(input语句)
数据来源 01 字面量 什么是字面量 字面量:在代码中,被写下来的的固定的值,称之为字面量 常用的值类型 字符串 如何在代码中写它们 总结: 02 注释 注释的作用 注释的分类 注释实战 总结 03 ...
- c语言字面量的作用是为变量,C语言 字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...
最新文章
- linux显示父目录,linux – 仅列出文件的公共父目录
- 机器学习入门:K-近邻算法
- 最受欢迎的Java环境
- 您的网卡配置暂不支持1000M宽带说明
- 常识分析 | 为什么 CPU 访问硬盘很慢
- 什么时候会用到拷贝构造函数?
- Spring boot 解决 hibernate no session异常
- 正则RegExp对象的用法
- 详解ICT及其业务领域范围
- 前端学习--使用canvas实现圆饼图
- STM32的ADC采集实现的信号抓取,然后通过串口传到上位机中显示
- cBioPortal数据库使用
- animation动画不生效_css animation不动怎么办
- 绘制confusion matrix的R实现
- Region Proposal by Guided Anchoring 笔记
- android 配置aspect_Android全面屏适配
- Web开发未来会完全替代客户端开发吗?
- asp.net mvc 连接sqlserver数据库
- TexStudio编写Latex碰到的问题
- 快速粘贴与自动填表软件V1.0 注册版
热门文章
- 在线作图|在线做UMAP降维分析
- The Innovation | ESCI Indexing
- 蚂蚁森林合种计划(2020.11.14,7天有效,每周6更新)
- 微生物生态期刊Soil Biology and Biochemistry(SBB)简介
- 生信小白的福音——免费在线分析扩增子数据SILVAngs
- Nature Method:HUMAnN2实现宏基因组和宏转录组种水平功能组成分析
- 改变窗口背景_Illustrator实例教程:只需三步,利用画笔描边做出炫酷的背景
- Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线
- R语言数据类型及数据类型判断
- linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量