关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » C/C++ »C++17 最新进展报告

    C++17 最新进展报告

    2015-11-11 00:00:00 出处:CSDN
    分享

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

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

    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,问题会牵扯到基本规范。当然了,会议会解决这些问题,你不必经历这些痛苦。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。