C++17 最新进展

C++17 最新进展

C++标准委员会最近在夏威夷的科纳召开了一次会议,大家可能关心最新的进展,但是按照以往的情况,某些文件需要很久才会公开。会议进行的时候,大家都在忙着修订自己的文件,会议之后,大会会收集改好的文件,在几周之后发布。但是这一次,委员会修改了他们的系统,所以得到早些版本的文件非常简单,这些邮件就是公开的。

我从官方收集与组织了这些信息,没有任何我个人的主观评论。如果你想知道这次会议的主要内容,请阅读下面的内容(我已经知道了绝大多数关于C++17库的内容,但是要将其全部写出来还是需要一定的时间)

C++17核心库文件

  • P0001R1 弃用register关键字
  • P0002R1 bool类型不再支持++运算符
  • P0012R1 异常成为类型系统的一部分,第五版
  • P0061R1 支持__has_include
  • P0134R0 引入非静态成员变量的拷贝构造函数//not sure
  • P0136R1 重写继承构造器(core issue 1941 et al)
  • P0160R0 删除一元运算符的预设值//Wording for removing defaults for unary folds

C++17库相关文件

  • P0004R1 弃用过时的iostreams的别名
  • P0006R0 采用基于标准库规范的类型特征变量模板
  • P0092R1 优化
  • P0007R1 Constant View:一个::as_const 的辅助函数模板
  • P0156R0 可变的lock_guard (Rev. 3)
  • P0074R0 使std::owner_less更加灵活
  • P0013R1 逻辑运算符类型特征 (revision 1)

库基本规范 第二版文件

  • N4531 替换std::rand,版本三
  • P0013R1 逻辑运算符类型特征 (revision 1)[C++17投票通过]
  • 这些文件将会应用于N4529草案,然后进行拟议草案技术规范的投票。

并发规范

  • P0159R0 将会作为并发技术规范发布,届时可能稍作改动。

并行规范 v2

  • N4505草案和P0155R0的”Task Block R5”负责这项工作。

网络规范

  • P0112R1草案负责这想工作。

范围规范

  • P0021R0草案负责这项工作。

核心主题

  • 1274.常见的非终结符表达式和内嵌初始化列表
  • 1391.非推导模板参数到参数类型的转化
  • 1722.lambda函数指针转换函数应该不例外吗?
  • 1847.部分排序时声明一致性
  • 1863.抛出对象的类型应该支持std::current_exception()
  • 1949.”sequenced after”代替”sequenced before”
  • 1975.允许声明异常类型
  • 1981.隐式和显式的上下文转换
  • 1990.decl-specifier-seq造成的歧义
  • 2000.#include之外的头文件名称
  • 2004.常量表达式中有可变成员的变量
  • 2006.Cv-qualified的void类型
  • 2015.虚函数的odr-use
  • 2016.类型转换函数的描述中可能存在的歧义
  • 2019.存储时间描述中成员引用的省略
  • 2024.依赖类型和未解包的参数包
  • 2026.Zero-initialization和constexpr
  • 2027.指定多个alignas的需求不明
  • 2031.&&的不兼容
  • 2052.模板参数推导vs重载操作符
  • 2075.传递短初始化列表给数组引用参数
  • 2101.对类型和值的依赖的错误说明
  • 2120.数组作为标准布局类的第一个非静态成员变量

库主题

  • 1169.num_get不能和strto*完全兼容
  • 2072.缓冲区容量定义不明确
  • 2101.一些类型转换可能产生非预期的类型
  • 2111.处理异常时可能调用那些已经删除的句柄?
  • 2119.扩展int类型缺少哈希函数
  • 2127.带raw_storage_iterator的Move-construction
  • 2133.重载逗号迭代器
  • 2156.无序容器的reserve(n)保存的是n-1个元素
  • 2218.容器如何使用allocator_traits::construct()不够明确
  • 2219.INVOKE-ing一个带有reference_wrapper的指针作为对象表达式
  • 2224.不活跃对象的状态问题
  • 2234.assert()应该允许在常亮表达式中使用
  • 2244.关于basic_istream::seekg的issue
  • 2250.Library Issue 2207中的Follow-up
  • 2259.17.6.5.5规则中有关成员函数的问题
  • 2273.regex_match的歧义
  • 2336.is_trivially_constructible/is_trivially_assignable结果永远是false
  • 2353.std::next限制过度
  • 2367.pair和tuple无参数时不兼容is_constructible
  • 2380.<cstdlib>应该提供long ::abs(long) 和long long ::abs(long long)吗?
  • 2384.分配器的解除函数需要更好的规范
  • 2385.function::assign分配器参数无意义
  • 2435.reference_wrapper::operator()的标记应该是被删除
  • 2447.分配器和volatile-qualified值类型
  • 2462.std::ios_base::failure 被过度规范
  • 2466.allocator_traits::max_size()默认表现是错误的
  • 2469.map的[]操作符和unordered_map规则错误
  • 2473.basic_filebuf对C文件的兼容
  • 2476.scoped_allocator_adaptor是不可分配的
  • 2477.std::vector::erase()std::deque::erase()的不一致
  • 2483.throw_with_nested()应该使用is_final
  • 2484.rethrow_if_nested()是不可实现的
  • 2485.常量tuple&&应该重载get()
  • 2486.mem_fn()应该提供向前兼容
  • 2487.bind()不应该是cv-overloaded, 而应该是const-overloaded
  • 2489.mem_fn()应该是noexcept的
  • 2492.明确comp的需求
  • 2495.没有类似异常安全元素的东西

Library Fundamentals TS v2 Issues

  • 2494.[fund.ts.v2] ostream_joiner应该是noexcept的
  • 2500.[fund.ts.v2] fundts.memory.smartptr.shared.obs/6 应该适用于cv-unqualified void
  • 2515.[fund.ts.v2]observer_ptr的确定操作符不能匹配任何简介
  • 2517.[fund.ts.v2] 两个propagate_const assignment 操作符返回不正确的类型
  • 2526.[fund.ts]experimental::function::swap 条件不正确

更多信息

以上只是投票通过的部分记录。每次的会议都会涉及很多工作,不会全都反映在文件上,比如,有关modules的热烈讨论文件中就没有。虽然我几乎花了所有的时间在库工作组中,但是还是不能跟进所有的内容。最终版文件我会在Reddit分享各个模块的进展。

本文作者可以回答大多数有关库的问题,但是可能回复略有延迟。可以确定的是,库的可用性提高了。看起来一切都像小猫一样温顺可爱,但是如果你去看一眼重载集合,就会发现这些模棱两可的东西简直是灾难。LWG2451是作为标准库定义的一个极好的例子,optional<string> opt_str = "meow";现在还未实现。对于基本规范没有什么问题,但是optional的ship-stopper不符合国际标准。在这次会议上,LWG意识到一些issue影响到了variant,问题会牵扯到基本规范。当然了,会议会解决这些问题,你不必经历这些痛苦。

时间: 2024-09-18 23:29:08

C++17 最新进展的相关文章

Petya最新进展之利用M.E.Doc后门

本文讲的是Petya最新进展之利用M.E.Doc后门, 6月27日晚,乌克兰境内多个政府组织和重要企业的电脑遭遇恶意软件攻击,致使多地出网络中断和电脑故障,政府无法正常办公,企业无法正常运营.事后,ESET把这次攻击的恶意软件检测为Diskcoder.C也就是我们这两天常听的ExPetr,PetrWrap,Petya或NotPetya.Diskcoder.C像典型的恶意软件一样能够加密计算机上的数据并勒索价值300美金的比特币. ESET将这次攻击归因于"TeleBots"组织,并发现

亿佰购物破产案有了最新进展

亿佰购物破产程序已经交由天睿律师事务所负责.本报记者第一时间采访了天睿律师是事务所相关负责人,她表示:"此事是一个团队在负责,但具体进展不能对外透露,要经过丰台人民法院批准."据了解,对于亿佰购物破产事宜,从亿佰购物到法院都做到了严格保密,而破产管理人则在2013年8月22日就已选定,但一直并未对外透露.据了解,亿佰购物商城于2007年12月创立,先后得到包括五大行在内的近20家银行的信用卡分期商城第三方运营资格.用户通过网站或邮寄目录在亿佰购物上购物,银行直接对用户进行信用卡划款,用

Intel首席技术官贾斯汀披露浸入式计算科学最新进展

近日,http://www.aliyun.com/zixun/aggregation/18652.html">英特尔公司首席技术官贾斯汀(Justin Rattner)发表博客文章披露了英特尔在浸入式计算科学和虚拟世界方面取得的最新进展.贾斯汀在博客中介绍了在今年举行的由ACM和IEEE计算机学会主办的超级计算机大会上,英特尔公司企业技术事业部系统技术实验室主管.担任2009年大会主席的Wilfred Pinfold向与会者宣布计划创造一个称为"ScienceSim"的

中国人工智能学会通讯——深度学习在自然语言处理领域的最新进展

下面我来介绍一下深度学习在自然语言处理(NLP)的最新进展.我主要想针对机器翻译.聊天机器人和阅读理解这三个最活跃的方向来探讨深度学习在NLP领域的发展到了什么水平,还存在什么问题,然后再引申出未来的研究方向. 上图是自然语言处理主要技术的一览图.从左开始,第一列是自然语言的基本技术,包括词汇级.短语级.句子级和篇章级的表示,比如词的多维向量表示(word embedding).句子的多维向量表示,还有就是分词.词性标记.句法分析和篇章分析.第二列和第三列是自然语言的核心技术,包括机器翻译.提问

一直饱受猜测的乐视超级汽车SEE计划的最新进展昨天终于曝光

摘要: 一直饱受猜测的乐视超级 汽车 SEE计划的最新进展昨天终于曝光,乐视集团乐视智能汽车(中国)公司正式成立,并发布了智能汽车UI系统LeUIAuto版.此外,一同亮相的还有原英菲尼迪中国 一直饱受猜测的乐视超级 汽车 "SEE计划"的最新进展昨天终于曝光,乐视集团乐视智能汽车(中国)公司正式成立,并发布了智能汽车UI系统LeUIAuto版.此外,一同亮相的还有原英菲尼迪中国总经理吕征宇.据悉,他担任乐视智能汽车(中国)公司副总裁,直接向乐视董事长兼CEO贾跃亭汇报.乐视控股车联网

GSMA公布2012年“亚洲移动通信博览会”最新进展

昨日,移动通信行业盛会 世界移动通信大会(Mobile World Congress)的主办方GSM协会 (GSMA),简要介绍了即将举办的亚洲移动通信博览会(Mobile Asia Expo)的最新进展.该博览会将于2012年6月20-22日在上海新国际博览中心举行.GSM 协会介绍了亚洲移动通信博览会的新环节,并且公布了更多参展商.赞助商和协办机构.该协会还分享了最新确认的演讲嘉宾名单以及更多亚洲移动通信博览会的最新消息.GSM协会首席营销官Michael O'Hara 表示:"亚洲移动通信

美国安全厂商在云安全上的最新进展

本文讲的是美国安全厂商在云安全上的最新进展,[IT168 资讯]优利系统公司日前推出了一系列云产品和服务,并且着重强调企业创建私有云,公有云或混合云工具的安全. Unisys Secure Cloud是优利系统公司推出的一种管理云服务,承诺将保护基于共享IT基础架构建立的云上存储的数据安全.这项服务采用的是公司最初是为美国国土安全部研发的的Stealth技术,可以保护用户在云上的数据不受其他用户的影响.这项技术还能掩护数据不被分解为多个数据包,不被分散到不同的存储站点上. 优利公司全球安全解决方

福记食品争购战最新进展:神秘买家安徽国投完胜

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   备受关注的香港上市公司福记食品的最后买家日前终于露出了水面. 3月24日,福记食品执行董事姚娟告诉<国际金融报>记者,福记食品清盘案的最新进展是,安徽国投成为福记重组的最后胜利者."具体金额也不是太清楚,要问魏总(魏东)." "福记清盘,主要缘于过去扩张过快,造成资金链紧张,但公司运营一切正常."姚娟表示. 据

工信部:三网融合方案目前没有最新进展

市场分析人士称,相关上市公司将分享超过7500亿元的商机 □ 本报记者 马红雨 三网融合方案已不只牵动着业内人士的神经,更成为坊间热议的话题.近日,市场传闻三网融合试点方案第六稿已获国家三网融合领导小组的认可,该方案将在6月15日前向各地征集试点城市实施方案,6月28日开始实施.<证券日报>记者昨日致电工信部相关部门求证,该部门负责人未予证实,并称目前没有最新进展. 不过,业内某资深人士对记者分析指出,业内流传最广的三网融合方案中,明确了广电系统"集成播控权",负责IPTV