C++标准库第二版笔记 2.1
C++标准库第二版笔记 2.1
1 Range-Based for 循环
for ( decl : coll ) {
statements;
}
// collaborate
类似C# foreach?
2 新式的字符串字面常量(String Literal)
常用于正则表达式(regular expression)
R"(\\n)"
// 相当于
R"\\\\n"
当你想在字符串中写出一个右括号“)”,则使用定义符(delimiter) 换而言之,如果你想在字符串中添加括号,使用定义符。
R"NC(any stuff NC())NC"
// Equals
"any stuff NC()"
2.1 编码的(encoded)string literal
L"" // wide string literal "wchar_t"
U"" // string literal char32_t
u"" // string literal char16_t
u8"" // UTF-8 const char
16章介绍如何使用不同的编码(encoding)完成国际化(internationalization)
3 关键字 noexcept
异常是一个尚未能理解的大话题,另起一篇文章详细讨论异常。
4 崭新的 template 特性
模版是一个尚未能理解的大话题,另起一篇文章详细讨论模版。
5 lambda 表达式
同上
6 关键字 decltype
decltype(declared type)
是一个可以让编译器找出表达式类型的关键字。
std::map<std::string, float> coll;
decltype(coll)::value_type elem;
应用之一是声明返回类型,另一个用途是metaprogramming(超编程;元编程)或是用来传输一个lambda类型。
7 新的函数声明语法(New Function Declaration Syntax)
template<typename T1, typename T2>
auto add(T1 x, T2 y) -> decltype(x+y)
// Equals Pseudocode decltype(x+y) add(T1 x, T2 y)
这种写法和“为lambda声明返回类型”是一样的。
8 带领域的(scoped)枚举常量(enumeration)
又称strong enumeration或enumeration class,这是enumeration value(或称为enumerator)的一个较干净的实现。
enum class Salutation : char { mr, ms, co, none };
好处: 1、绝不会隐式自、至int 2、如果数值不再enumeration被声明的作用域内,你必须改写为salutation::mr 3、通过定义一个底层类型来确保每一个值的大小。 4、有提前声明(forward declaration)可供使用,以避免新的值而重新编译。
type trait std::underlying_type 你可以核定(evaluate)一个枚举类型。
error condition value也是一个scoped enumerator???
C++标准库第二版笔记 2.1的更多相关文章
- C++标准库第二版笔记 3 和异常的理解 1
C++标准库第二版笔记 3 和异常的理解 1 差错和异常(error and exception)的处理 标准异常类(exception class) 定义于 分为: 1.语言本身支持的异常 2.标准 ...
- C++标准库第二版笔记 2
C++标准库第二版笔记 2 微小但重要的语法提升 template表达式内的空格: vector< list<int> >; // OK in each C++ version ...
- C++标准库第二版笔记 1
C++标准库第二版笔记 1 C++ std历史 第一份标准化文档: C++98 & C++03 & TR1 TR1 Information Technology- Programmin ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- 《C标准库》学习笔记整理
简介 <C标准库>书中对 C 标准库中的 15 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的 ...
- Python高级编程第二版--笔记
不只是CPython Stackless Python Jython(与java集成) IronPython(与net集成) PyPy python真正出众的领域在于围绕语言打造的整个生态系统. Py ...
- 《C++ 标准库》读书笔记 - 第二章 Introduction to C++ and the Standard Library
1. History of the C++ Standards 1.1 History of the C++ Standards C++98 -> C++03 -> TR1 -> C ...
- JavaPersistenceWithHibernate第二版笔记-第四章-Mapping persistent classes-003映射实体时的可选操作(<delimited-identifiers/>、PhysicalNamingStrategy、PhysicalNamingStrategyStandardImpl、、、)
一.自定义映射的表名 1. @Entity @Table(name = "USERS") public class User implements Serializable { / ...
- JavaPersistenceWithHibernate第二版笔记-第四章-Mapping persistent classes-002identity详解
一.简介 1.You now have three methods for distinguishing references: Objects are identical if they occ ...
随机推荐
- 逃逸分析(Escape Analysis)
一.什么是逃逸 逃逸是指在某个方法之内创建的对象,除了在方法体之内被引用之外,还在方法体之外被其它变量引用到:这样带来的后果是在该方法执行完毕之后,该方法中创建的对象将无法被GC回收,由于其被其它变量 ...
- git取别名配置
已经配置的别名 $ git config --global alias.st status $ git config --global alias.co checkout $ git config - ...
- rm命令详解
1.简介: rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. 注意:rm是一个 ...
- 大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)
拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习.但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解 ...
- java后台动态生成导出excel
p ublic void export(List<WechatUser> wechatUserList, HttpServletResponse response) throws IOEx ...
- 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中
一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...
- Django中把SQLite数据库转换为Mysql数据库的配置方法
我们在学习和开发Django的时候,一般是使用SQLite作为数据库.在正式讲网站部署上线是用MySQL数据库比较多.MySQL支持高并发的访问,而且相对于SQLite,MySQL性能更好.下面讲讲如 ...
- Babel 配置选项
comments 是否去掉注释,true(默认)/false.
- How to find SPRO path by t-code name
e.g:OB58 F1->Technical Information Find Table Name->V_T011 3.SM30 V_T011 Customizing Continue ...
- Mybatis SqlsessionFactory
在Mybatis 与 Spring 进行整合的时候,我们会进行sqlSessionFactory 的配置,来创建sqlSessionFactory 对象:如下: <bean id="s ...