博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++17标准制定完成
阅读量:5882 次
发布时间:2019-06-19

本文共 993 字,大约阅读时间需要 3 分钟。

据Herb Sutter,在美国夏威夷Kona举行的冬季会议上,ISO C++标准委员会最终完成了C++17标准的制定工作。下面对C++17的主要特性做简要概括。

\\

Kona会议的主要议程是解决来自一些国家机构的审查意见,并修复一些软件故障,因此并未给出过多的新特性。特别需要指出的是,在Knoa会议上添加了一个新的类型,精简了程序对“位导向”(byte-oriented)内存访问的处理方式。目前的实现是依赖于char(无论signed char还是unsigned char)类型的,鉴于char类型还承担了字符类型和算术运算类型的职责,这种实现尚存在着不合理之处。另一方面,std::byte将会被分离出来作为一个专用类型。

\\

其它C++17主要新特性包括:

\\
  • \

    ,去除了预先存在的限制。使用constexprs定义的对象或函数可在编译等阶段就进行求值,因此可以实现一些高级的模板参数或数组大小说明符。编译器会确保constexprs对象或函数按设定的需求编译,实现所描述的使用。

    \ \\
  • \

    允许,这对并行代码或使用std::future的场景具有很大的影响,因为Lambda表达式在执行时无法保证this的有效性。

    \ \\
  • \

    表示。如果用C++的措辞解释,可以说optional是一种管理对象初始化状态的封装器。

    \ \\
  • \

    定义类似于“”。

    \ \\
  • \

    ,这样代码编写可简化为:

    \ \
auto lock = std::lock_guard(mut_, r1);
\\

而非:

\\
std::lock_guard<:shared_timed_mutex std::shared_lock=\"\"><:shared_timed_mutex>\u0026gt; lck(mut_, r1);
\\
  • ,例如: \
template  struct S;  //可推断出v的类型。
\\

C++17新特性的列表非常长,这里无法一一列举。推荐Stack Overflow网站上的一篇,其中对C++17新特性做了一个简洁的归纳,更新至最近的Kona会议内容,并提供了指向官方委员会文档的链接。

\\

查看英文原文:

\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。

转载地址:http://yyvix.baihongyu.com/

你可能感兴趣的文章
DatanodeDescriptor说明
查看>>
ServlertContext
查看>>
eclipse编辑器生命周期事件监听
查看>>
Python WOL/WakeOnLan/网络唤醒数据包发送工具
查看>>
sizeof(long)
查看>>
pxe网络启动和GHOST网克
查看>>
2.5-saltstack配置apache
查看>>
django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
查看>>
Python学习笔记
查看>>
java String
查看>>
renhook的使用
查看>>
Linux学习笔记(十二)--命令学习(用户创建、删除等)
查看>>
DOCKER windows 7 详细安装教程
查看>>
养眼美女绿色壁纸
查看>>
U盘启动盘制作工具箱 v1.0
查看>>
增强myEclipse的提示功能
查看>>
Zabbix汉化方法
查看>>
Java I/O系统基础知识
查看>>
Java多线程设计模式(2)生产者与消费者模式
查看>>
对象并不一定都是在堆上分配内存的
查看>>