zoukankan      html  css  js  c++  java
  • 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 条件不正确
        


    本原创文章来源:C++技术网 http://www.cjjjs.cn ,阅读更多原创精品文章,欢迎访问C++技术网。

  • 相关阅读:
    [DB] 数据库的连接
    JS leetcode 翻转字符串里的单词 题解分析
    JS leetcode 拥有最多糖果的孩子 题解分析,六一快乐。
    JS leetcode 搜索插入位置 题解分析
    JS leetcode 杨辉三角Ⅱ 题解分析
    JS leetcode 寻找数组的中心索引 题解分析
    JS leetcode 移除元素 题解分析
    JS leetcode 最大连续1的个数 题解分析
    JS leetcode 两数之和 II
    JS leetcode 反转字符串 题解分析
  • 原文地址:https://www.cnblogs.com/cjjjs/p/4957702.html
Copyright © 2011-2022 走看看