做拼多多网站赚钱吗,网站建设中数据安全研究,个人网站免费的吗,制作个人网页的过程据Herb Sutter的博客所写#xff0c;在美国夏威夷Kona举行的冬季会议上#xff0c;ISO C标准委员会最终完成了C17标准的制定工作。下面对C17的主要特性做简要概括。\u0026#xD;\n\u0026#xD;\nKona会议的主要议程是解决来自一些国家机构的审查意见#xff0c;并修复一些软件故…据Herb Sutter的博客所写在美国夏威夷Kona举行的冬季会议上ISO C标准委员会最终完成了C17标准的制定工作。下面对C17的主要特性做简要概括。\u0026#xD;\n\u0026#xD;\nKona会议的主要议程是解决来自一些国家机构的审查意见并修复一些软件故障因此并未给出过多的新特性。特别需要指出的是在Knoa会议上添加了一个新的std::byte类型精简了程序对“位导向”byte-oriented内存访问的处理方式。目前的实现是依赖于char无论signed char还是unsigned char类型的鉴于char类型还承担了字符类型和算术运算类型的职责这种实现尚存在着不合理之处。另一方面std::byte将会被分离出来作为一个专用类型。\u0026#xD;\n\u0026#xD;\n其它C17主要新特性包括\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;\nauto lock std::lock_guard(mut_, r1);\u0026#xD;\n\u0026#xD;\n而非\u0026#xD;\n\u0026#xD;\nstd::lock_guard:shared_timed_mutex std::shared_lock\\:shared_timed_mutex\u0026gt; lck(mut_, r1);\u0026#xD;\n\u0026#xD;\n可推断模板的无类型参数例如 \u0026#xD;\ntemplate struct S; //可推断出v的类型。\u0026#xD;\n\u0026#xD;\nC17新特性的列表非常长这里无法一一列举。推荐Stack Overflow网站上的一篇问题解答其中对C17新特性做了一个简洁的归纳更新至最近的Kona会议内容并提供了指向官方委员会文档的链接。\u0026#xD;\n\u0026#xD;\n查看英文原文 C17 Is Ready\u0026#xD;\n\u0026#xD;\n感谢张卫滨对本文的审校。\u0026#xD;\n给InfoQ中文站投稿或者参与内容翻译工作请邮件至editorscn.infoq.com。也欢迎大家通过新浪微博InfoQ丁晓昀微信微信号InfoQChina关注我们。