C++17 最新进展
更新:2015-11-11
浏览:1+次
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”负责这项工作。
网络规范
范围规范
核心主题
-
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 条件不正确
声明:本站资源仅供个人学习交流,如本文侵犯了您的权益,
请联系我们删除!