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++技术网。

  • 相关阅读:
    css开发素材网址
    html5笔记(标签)
    cms实例笔记(二)
    ie 元素兼容性总结
    ps常用键
    视图适配
    JavaScript 全部介绍
    cmscp实例笔记
    Google proto buffer的安装/使用
    ntp时间同步服务器配置
  • 原文地址:https://www.cnblogs.com/cjjjs/p/4957702.html
Copyright © 2011-2022 走看看