C++17标准制定完成

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

\u0026#xD;\n\u0026#xD;\n

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

\u0026#xD;\n\u0026#xD;\n

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

\u0026#xD;\n\u0026#xD;\n
  • \u0026#xD;\n

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

    \u0026#xD;\n \u0026#xD;\n\u0026#xD;\n
  • \u0026#xD;\n

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

    \u0026#xD;\n \u0026#xD;\n\u0026#xD;\n
  • \u0026#xD;\n

    增加了std::optional,可使用optinal类型表示某个已定义或尚未定义的值。如果用C++的措辞解释,可以说optional是一种管理对象初始化状态的封装器。

    \u0026#xD;\n \u0026#xD;\n\u0026#xD;\n
  • \u0026#xD;\n

    增加了std::variant,可使用联合体类型定义类似于“浮点型或长整型的联合体”。

    \u0026#xD;\n \u0026#xD;\n\u0026#xD;\n
  • \u0026#xD;\n

    可推断类模板参数的构造函数,这样代码编写可简化为:

    \u0026#xD;\n \u0026#xD;\n
auto lock = std::lock_guard(mut_, r1);
\u0026#xD;\n\u0026#xD;\n

而非:

\u0026#xD;\n\u0026#xD;\n
std::lock_guard<:shared_timed_mutex std::shared_lock=\"\"><:shared_timed_mutex>\u0026gt; lck(mut_, r1);
\u0026#xD;\n\u0026#xD;\n
  • 可推断模板的无类型参数,例如: \u0026#xD;\n
template  struct S;  //可推断出v的类型。
\u0026#xD;\n\u0026#xD;\n

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

\u0026#xD;\n\u0026#xD;\n

查看英文原文: C++17 Is Ready

\u0026#xD;\n\u0026#xD;\n

感谢张卫滨对本文的审校。

\u0026#xD;\n

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不是每一个缺钱的人都能贷款!

有没有那么一刻&#xff0c;你会觉得无助和绝望&#xff0c;感受到了人性的冷淡&#xff0c;仿佛整个人生都进入了寒冬&#xff1f;答&#xff1a;借钱&#xff01;绝大多数人都知道&#xff0c;借钱二字&#xff0c;只要说出口&#xff0c;无论多亲近的人都会产生隔阂。因为&a…

REHL yum的配置(本地和centos源)

本地yum源设置&#xff0c;将yum源设置成本地RHEL镜像里面的Server&#xff0c;这样使用yum的时候就可以直接调用这里面的rpm&#xff0c; 1、挂载DVD镜像&#xff0c;并将命令写入/etc/rc.d/rc.local自启动 mkdir /media/RHELDVD mount -t iso9660 /dev/hdc /media/RHELDVD 2、…

无占空比的奇数分频

无占空比的奇数分频 题目描述&#xff1a; 请设计一个同时输出5分频的时钟分频器&#xff0c;本题对占空比没有要求 注意rst为低电平复位 信号示意图&#xff1a; timescale 1ns/1nsmodule odd_div ( input wire rst ,input wire clk_in,output wire clk_out5…

这些明星日入斗金,为什么还要贷款?

白百何出轨了&#xff0c;他们夫妻两长期分居&#xff0c;据说陈羽凡为了生活费豁出去&#xff0c;抵押房子贷了几百万。看来陈羽凡对贷款也是蛮在行的&#xff0c;据媒体报道&#xff0c;早在2000年10月&#xff0c;陈羽凡购买了中地房地产开发有限公司位于北京东四十条华普花…

RHEL6.0使用centos的YUM更新源

1、卸载自身yum # rpm -aq|grep yum|xargs rpm -e --nodeps 2、安装 centos 的YUM rpm -ivh http://mirrors.163.com/centos/6.2/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm -ivh http://mirrors.163.com/centos/6.2/os/i386/Packages/yum-metadata-p…

根据状态转移写状态机-三段式

根据状态转移写状态机-三段式 题目描述 如图所示为两种状态机中的一种&#xff0c;请根据状态转移图写出代码&#xff0c;状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求&#xff1a; 1、 必须使用对应类型的状态机 2、 使用三段式描述方法&#xff0c;输出判断…

马云有自己的银行,为什么还要贷款?

小伙伴们&#xff0c;你们只知道你们的马云爸爸很有钱&#xff0c;阿里巴巴家大业大&#xff0c;可是你们可能不知道&#xff0c;你们的马云爸爸可是一个贷款狂人。我们先来晒一晒阿里巴巴在2016年的业绩。2016 年阿里的电商平台成交额突破3万亿大关&#xff0c;达到 3.092 万亿…

揭穿现金贷的真实面目

自从P2P网贷近两年开始猖狂盛行&#xff0c;在央行对消费金融的一系列规范和整顿后&#xff0c;又出现了新的消费金融名词——现金贷。现金贷&#xff0c;在美国称Payday loan&#xff08;发薪日贷款&#xff09;&#xff0c;一般指7-30天&#xff0c;1000元以下&#xff08;美…

RHEL 6.0安装Qt

1、下载 qt-everywhere-opensource-src-4.8.6.tar.gz 一切按默认进行&#xff0c;默认安装路径:/usr/local/Trolltech/Qt-4.8.6 解压并安装&#xff1a; # tar -zxvf qt-everywhere-opensource-src-4.8.6.tar.gz # cd qt-everywhere-opensource-src-4.8.6 # ./configure # …

根据状态转移写状态机-二段式

根据状态转移写状态机-二段式 题目描述 如图所示为两种状态机中的一种&#xff0c;请根据状态转移图写出代码&#xff0c;状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求&#xff1a; 1、 必须使用对应类型的状态机 2、 使用二段式描述方法 注意rst为低电平复位…

提前还清贷款为什么还要付违约金?

大家在签贷款合同的时候有没有注意到一个条例&#xff0c;就是违约条例&#xff0c;违约条例包括提前还款等&#xff0c;一般贷款合同对提前还钱都会有书面规定要交多少违约金&#xff0c;一般是按剩余未还金额的1%—5%收取&#xff0c;不同的公司收取的比例不一样。对于房贷来…

借呗逾期是如何催收的?

没钱怎么办&#xff1f;借呗在手&#xff0c;说有就有&#xff01;借呗的推出确实方面了很多人&#xff0c;让贷款变得更加简便快捷&#xff0c;让原本难搞的贷款走进了千家万户。据阿里巴巴官方数据显示&#xff0c;借呗推出10个月&#xff0c;已经累积放款3000亿&#xff0c;…

转的网络资料

Deep Learning&#xff08;深度学习&#xff09;&#xff1a; ufldl的2个教程(这个没得说&#xff0c;入门绝对的好教程&#xff0c;Ng的&#xff0c;逻辑清晰有练习)&#xff1a;一 ufldl的2个教程(这个没得说&#xff0c;入门绝对的好教程&#xff0c;Ng的&#xff0c;逻辑清…

17家银行工资单:招行人均45万夺冠

从目前披露的17家银行年报来看&#xff0c;相比2015年&#xff0c;2016年这17家银行的员工共减少了8540名&#xff0c;减幅仅有0.39%&#xff0c;非常有限。而薪酬则是有增无减&#xff0c;上述17家银行去年员工薪酬总支出达到2020.8亿元&#xff0c;上升0.7%。2016年“最佳好雇…

贷款必看:如何信审电话才能提高贷款通过率?

信审是贷款不可避免的一个环节&#xff0c;不论是抵押贷款还是信用贷款&#xff0c;都会涉及到信审&#xff0c;有的信审可能是当面谈&#xff0c;有的信审是通过电话来沟通&#xff0c;信审也是影响贷款能否顺利放款的重要一环&#xff0c;稍有不慎&#xff0c;甚至有可能直接…

信用卡如何安全取现?

信用卡有一个功能那就是取现&#xff0c;取现可以解决短期内急用钱问题&#xff0c;而且简单快速高效&#xff0c;是个不错的功能。但是信用卡取现不仅费用高&#xff0c;而且也是有一定的风险&#xff0c;稍不小心就会被银行冻结卡片或销卡&#xff0c;因此对于经常取现的朋友…

格雷码计数器

格雷码计数器 题目描述 实现4bit位宽的格雷码计数器。 电路的接口如下图所示 题目解读 格雷码计数器&#xff0c;分为三部分进行设计&#xff0c;格雷码转二进制、加法器、二进制转格雷码。 格雷码转二进制将格雷码转换为二进制&#xff0c;并将值输出用于加法器进行加法运算…

这些贷款冷知识你知道多少?

贷款是一门学问&#xff0c;说起来简单&#xff0c;但是实际上还是比较深奥的&#xff0c;有些信贷经理虽然长期在信贷行业摸爬滚打&#xff0c;但对于一些知识不一定了解&#xff0c;今天我们就来看看贷款行业的一些冷知识&#xff0c;看看你知道多少。什么叫子弹式贷款&#…

蔡成功贷款警示:没事别玩高利贷

上一次发文我们说了为什么蔡成功贷款这么难&#xff0c;主要说了一些宏观的环境和客观的因素&#xff0c;但是蔡成功贷款难&#xff0c;除了客观因素之外&#xff0c;其主观因素也占了很大的原因。欧阳菁在谈到为何不给蔡成功放贷款时说道&#xff0c;最根本的原因是蔡成功在社…

拉格朗日插值拟合

pre define typedef struct Operators {std::vector<float> Operatos;}Operators;// 定义一个点 class PointF { public:PointF(){X Y 0.0f;}PointF(IN const PointF &point){X point.X;Y point.Y;}PointF(IN float x,IN float y){X x;Y y;}PointF operator(IN…