你需要了解的 C++ 17 Top 19 新特性

什么是 C++17?

C++17(或 C++1z)是继 C++14 之后 C++ 编程语言 ISO/IEC 标准的下一次修订的非正式名称。C++17 现在功能已齐全,正在成为国际标准的路上。它的规范已于 2017 年 3 月达到国际标准草案的阶段。

C++17 的 19 个新特性

使 static_assert 的文本信息可选

删除 trigraphs

在模板参数中允许使用 typename(作为替代类)

来自 braced-init-list 的新规则用于自动推导

嵌套命名空间的定义,例如:使用 namespace X::Y { … } 代替 namespace X { namespace Y { … }}

允许命名空间和枚举器的属性

新的标准属性:[[fallthrough]], [[maybe_unused]] 和 [[nodiscard]]

UTF-8 字符文字

对所有非类型模板参数进行常量评估

Fold 表达式,用于可变的模板

A compile-time static if with the form if constexpr(expression)

结构化的绑定声明,现在允许 auto [a, b] = getTwoReturnValues();

if 和 switch 语句中的初始化器

在某些情况下,确保通过编译器进行 copy elision(Guaranteed copy elision by compilers in some cases)

一些用于对齐内存分配的扩展

构造函数的模板推导,允许使用 std::pair(5.0, false) 代替 std::pair(5.0, false)

内联变量,允许在头文件中定义变量

__has_include,允许由预处理程序指令检查头文件的可用性

__cplusplus 的值更改为 201703L

本文来自开源中国社区 [http://www.oschina.net]

时间: 2024-11-03 18:25:27

你需要了解的 C++ 17 Top 19 新特性的相关文章

微博IPO定价17至19美元 拟筹资4.37亿美元

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 北京时间4月5日凌晨消息,微博周五向美国证券交易委员会(SEC)提交了F-1/A增补文件.文件显示,微博将IPO(首次公开招股)定价区间设为每股美国存托股票(ADS)17美元到19美元. 微博计划在IPO交易中发行2000万股美国存托股票(每股美国存托股票代表一股A类普通股),最多筹资4.37亿美元.此外,微博将向承销商授予30天

爸爸去哪儿游戏17\18\19关任务完成技巧

爸爸去哪儿第十七关3星通关图文攻略 本关的任务是在60秒内分数达到25000分,真的是越来越难了啊,之前还是七十秒呢,来看爸爸去哪儿第十七关3星通关图文攻略 前面还是七十秒分数达到17000多呢,转眼就时间短了分数多了. 一来就得到小车!!太嗨皮了~ 遇见小伙伴的时候记得拉上哦 掉到水里也不要担心~ 爸爸去哪儿第十八关3星通关图文攻略 本关任务是捞鱼!收集八十条鱼,嗯哼,和电视节目里的一样!里面也有捞鱼这个任务,来看爸爸去哪儿第十八关3星通关图文攻略 下图的荷叶,跳上去会弹很高. 其实有时候比较

[MySQL5.6] MySQL 5.6.17新特性:online optimize table (以及其他主要bugfix)

在刚刚放出来的MySQL5.6.17版本中,最引人注意的功能当属于能够在线的进行opimitze table操作,这可以帮助减小表的大小而无需阻塞并发负载,另外以下几类操作也开始支持online ddl: OPTIMIZE TABLE ALTER TABLE ... FORCE ALTER TABLE ... ENGINE=INNODB (when run on an InnoDB table) 上述操作将触发表的rebuild,代码的改动量非常小 修改见 [Rev:5820] 这几个选项从sq

王小川蹲守清华东门17年迎来新搜狗

( 编者注:这是山寨发布会成员.<商业价值>前编委夏勇峰同学的一篇类采访手记体文章.夏勇峰在十余年的互联网报道领域中,曾多次在公开和非公开场合与王小川交流.之 所以写下这篇文章,他本人说 是因为"感觉外界对小川怎么解读的 都有,而的重要一面,面对世事变化却'懒得应对近乎迟钝',却很少有人涉及."所以提笔记录下他所知道的这一面.)1996年,四川省高中生王小川在国际奥林匹克信息学竞赛中获得金牌,被点招进了清华大学计算机系.站在北京五道口清华大学东门门口的18岁学霸,并没有传奇

为LINQ服务的C#新特性总结篇---扩展方法,匿名委托,lambda表达式,Action委托,Func委托,Linq中的order by,top和sum函数

Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Diagnostics; namespace ConsoleApplication1{    static class Program    {        static void Main(string[] args)        {            //Predicate       

解读ASP.NET 5 &amp; MVC6系列教程(17):MVC中的其他新特性_自学过程

(GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句. 默认的示例如下: @using BookStore @using Microsoft.Framework.OptionsModel @a

OS X Mavericks 系统新特性 Top 10 - 更先进的电源管理,更好的通知系统等

class="post_content" itemprop="articleBody"> 北京时间6月11日凌晨1点,苹果在旧金山召开了盛大的本年度WWDC(苹果全球开发者大会)大会.本次大会除了 MacBook Air 和 Mac Pro 两款新品外,苹果更多的介绍了移动设备的 iOS 7 系统和 OS X  操作系统的新版本 Mac OS X Maverick-- 全新的 OS X 操作系统以 Mavericks 命名,版本号为10.9.直到上一个版本的

【转载】GitHub Top 100 简介(IOS框架)

GitHub Top 100 简介 主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.              原文链接:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md Android 版本的在此: https://github.com/Freelander/Android_Data/blob/master/Android-Li

mysql group by 按组返回 top 10 信息

需求: 对 mysql 输出进行 groug by 排序并执行 top 10 返回 前提: 当前需对 zabbix 执行自定义监控数据返回. 涉及到的表比较多,  下面作出简单的说明 hosts_groups 用于记录主机与组的 id 关系 mysql> desc hosts_groups; +-------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Defa