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++——新类型与原始字面量(原始字符串)相关推荐

  1. c++语言自定义操作符,C++11新特性之自定义字面量

    1.示例 C++11新标准中引入了用户自定义字面量,也叫自定义后缀操作符,即通过实现一个后缀操作符,将申明了该后缀标识的字面量转化为需要的类型.考察如下代码: long double operator ...

  2. java se7 变化_Java SE7新特性之二进制字面量

    Java SE 7中, 整数类型(byte, short, int以及long) 也可以使用二进制数系来表示.要指定一个二进制字面量,可以给二进制数字添加前缀 0b 或者 0B.下面的示例展示了一些二 ...

  3. C++ 11 深度学习(十)原始字面量

    你是否曾经为了各种json格式无法写入string中而烦恼,为了各种转义而烦恼.如下图  c++11为我们带来了全新的解决方法 其新特性为使用. R"(xxxxxxxxxxxx)" ...

  4. [C++11]字符串原始字面量

    代码如下: #include <iostream> #include <string> using namespace std;int main() {string str1 ...

  5. [译]ES6新特性:八进制和二进制整数字面量

    原文:http://whereswalden.com/2013/08/12/micro-feature-from-es6-now-in-firefox-aurora-and-nightly-binar ...

  6. C++11新特性之新类型与初始化

    C++11新特性之新类型与初始化 snoone | 2016-06-23 11:57    浏览量(148)    评论(0)   推荐(0) 数据 这是C++11新特性介绍的第一部分,比较简单易懂, ...

  7. 02_星仔带你学Java之变量、常量、字面量、数据类型

    资料和代码存放地址:<华星详谈-学习中心>.开源项目持续更新中.     大家好,我是星仔.本博客收录于华星详谈-学习中心.本学习中心收集了Java整个技术体系的所有技术要点.每篇博客后面 ...

  8. Python字面量、注释、变量、数据类型、数据类型的转换、标识符、运算符、字符串扩展、字符串格式化、数据输入(input语句)

    数据来源 01 字面量 什么是字面量 字面量:在代码中,被写下来的的固定的值,称之为字面量 常用的值类型 字符串 如何在代码中写它们 总结: 02 注释 注释的作用 注释的分类 注释实战 总结 03  ...

  9. c语言字面量的作用是为变量,C语言 字面量

    在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...

最新文章

  1. linux显示父目录,linux – 仅列出文件的公共父目录
  2. 机器学习入门:K-近邻算法
  3. 最受欢迎的Java环境
  4. 您的网卡配置暂不支持1000M宽带说明
  5. 常识分析 | 为什么 CPU 访问硬盘很慢
  6. 什么时候会用到拷贝构造函数?
  7. Spring boot 解决 hibernate no session异常
  8. 正则RegExp对象的用法
  9. 详解ICT及其业务领域范围
  10. 前端学习--使用canvas实现圆饼图
  11. STM32的ADC采集实现的信号抓取,然后通过串口传到上位机中显示
  12. cBioPortal数据库使用
  13. animation动画不生效_css animation不动怎么办
  14. 绘制confusion matrix的R实现
  15. Region Proposal by Guided Anchoring 笔记
  16. android 配置aspect_Android全面屏适配
  17. Web开发未来会完全替代客户端开发吗?
  18. asp.net mvc 连接sqlserver数据库
  19. TexStudio编写Latex碰到的问题
  20. 快速粘贴与自动填表软件V1.0 注册版

热门文章

  1. 在线作图|在线做UMAP降维分析
  2. The Innovation | ESCI Indexing
  3. 蚂蚁森林合种计划(2020.11.14,7天有效,每周6更新)
  4. 微生物生态期刊Soil Biology and Biochemistry(SBB)简介
  5. 生信小白的福音——免费在线分析扩增子数据SILVAngs
  6. Nature Method:HUMAnN2实现宏基因组和宏转录组种水平功能组成分析
  7. 改变窗口背景_Illustrator实例教程:只需三步,利用画笔描边做出炫酷的背景
  8. Python使用matplotlib可视化散点图、使用seaborn中的lmplot函数使用多子图可视化不同分组的散点图最优拟合线性回归曲线
  9. R语言数据类型及数据类型判断
  10. linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量