《C++标准库》第3章 语言新特性

《C++标准库》第3章 语言新特性

nullptr

nullptr是个新关键词,它会自动转换为各种pointer类型,但不会被转换为任何整数类型

image-20210326083520124

第二个函数调用会发生歧义,而第三个就不会

一致性初始化

C++11引入一致性初始化概念,意思是面对任何初始化动作,你可以使用相同语法,也就是使用大括号,以下皆成立:

image-20210326083729517

即使某个local变量属于基础类型(通常会有不明确的初值),也会被初始化为0

image-20210326083850443

窄化,也就是所谓的精度降低或造成数值变动——对大括号而言是不成立的

image-20210326083954995

初值列

image-20210326084102849

初始值列里存在迭代器,使用auto来获取之后进行调用处理

基于范围的for循环

基于范围for循环的原理:

image-20210326084357331

可以针对初值列使用基于范围for循环

image-20210326084427995

新式字符串字面常量

生字符串:在字符串中含有较多转移字符时使用

image-20210326084544266

编码的字符串

image-20210326084652355

lambda表达式

捕获列表通过值获取的变量不能被修改:

image-20210326085833647

image-20210326085842908

可以通过加上mutable修饰符进行修改:

image-20210326085948621

image-20210326085958570

该值是拷贝而来的,不会影响原值

关键字decltype

找出表达式类型,可以用来代替原有的typeof

image-20210326090223433

新的函数声明语法

在模板函数中,当碰到函数返回值是根据传入参数才能够得知时:

image-20210326090330203

基础类型的明确初始化

如果你使用“一个明确的构造函数调用,但不给实参”这样的语法,基础类型会被设定初值为0

image-20210326090844800
image-20210326090904954

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值