C++标准委员会最近在夏威夷的科纳召开了一次会议,大家可能关心最新的进展,但是按照以往的情况,某些文件需要很久才会公开。会议进行的时候,大家都在忙着修订自己的文件,会议之后,大会会收集改好的文件,在几周之后发布。但是这一次,委员会修改了他们的系统,所以得到早些版本的文件非常简单,这些邮件就是公开的。
我从官方收集与组织了这些信息,没有任何我个人的主观评论。如果你想知道这次会议的主要内容,请阅读下面的内容(我已经知道了绝大多数关于C++17库的内容,但是要将其全部写出来还是需要一定的时间)
register
关键字bool
类型不再支持++
运算符__has_include
iostreams
的别名#include
之外的头文件名称&&
的不兼容num_get
不能和strto*完全兼容<cstdlib>
应该提供long ::abs(long) 和long long ::abs(long long)吗?std::ios_base::failure
被过度规范allocator_traits::max_size()
默认表现是错误的basic_filebuf
对C文件的兼容scoped_allocator_adaptor
是不可分配的std::vector::erase()
和std::deque::erase()
的不一致throw_with_nested()
应该使用is_finalrethrow_if_nested()
是不可实现的mem_fn()
应该提供向前兼容bind()
不应该是cv-overloaded, 而应该是const-overloadedmem_fn()
应该是noexcept的以上只是投票通过的部分记录。每次的会议都会涉及很多工作,不会全都反映在文件上,比如,有关modules的热烈讨论文件中就没有。虽然我几乎花了所有的时间在库工作组中,但是还是不能跟进所有的内容。最终版文件我会在Reddit分享各个模块的进展。
原文链接:https://linux.cn/article-6563-1.html