c++11新增内容
记录一下c++11新特性方便以后回忆
1.nullptr (对标NULL)
2.auto ,decltype(根据表达式推断类型,表达式不执行)
decltype(func()) sum = 5; // sum的类型是函数func()的返回值的类型int, 但是这时不会实际调用函数func()
int a = 0;
decltype(a) b = 4; // a的类型是int, 所以b的类型也是int
PS: c++14中:decltype(auto)是C++14新增的类型指示符,可以用来声明变量以及指示函数返回类型。在使用时,会将“=”号右边的表达式替换掉auto,再根据decltype的语法规则来确定类型。
int a = 4;
decltype(auto) b = a; // => decltype(a) b = a;
3.拖尾(后置)返回类型
4.类似于python的区间for遍历
5.初始化列表 (std::initializer_list)
6.外部模板
7.默认模板参数
8.类型别名模板 using
9.委托构造,继承构造(using A::A)
10.Lambda 表达式 [ caputrue list ] ( params list ) opt -> ret { body; };
caputrue list:
[var]:表示值传递方式捕捉变量var
[=]:表示值传递方式捕获所有父作用域中的变量(包括this)
[&var]:表示引用传递捕捉变量var
[&]:表示引用传递捕捉所有父作用域中的变量(包括this)
[this]:表示值传递方式捕捉当前的this指针
11.std::array
12.std::forward_list
13.无序容器(std::unordered_map / std::unordered_multimap 和 std::unordered_set / std::unordered_multiset)
14.智能指针(unique_ptr,shared_ptr, weak_ptr)
15.long long
16.元组 std::tuple (#include )
17.正则表达式
18.std::to_string()函数
19.线程支持,原子操作库
20.constexpr (const 和 constexpr 变量之间的主要区别在于:const 变量的初始化可以延迟到运行时,而 constexpr 变量必须在编译时进行初始化)
21.原始(raw)字符串 <R"( ------ )">,其中------里面的字符串全部看成无特殊意义的字符串(无视转义字符等其他)
22.C++11起,新增 alignof 和 alignas
alignof 主要用于获取内存对齐的大小
alignas 主要用于设置内存对齐的大小
- override、final对多态的进一步管理<限定>
c++11新增内容的更多相关文章
- 从零开始学 Web 之 HTML5(二)表单,多媒体新增内容,新增获取操作元素,自定义属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- jQuery.1.9 live 代替事件 on 新增内容无法触发事件
如果是新增 append 或者 html() 事件添加的内容,无法触发 click 事件, 在1.9 可以用live 事件来代替 1.9以后用 <div class="search-r ...
- ES6新增内容总结
ES6新增内容有:1,模块化思想.2,关于变量let和const.3,解构赋值.4,字符串的扩展.5,函数的扩展.6,箭头函数.7,继承apply的用法 以下就是详解: 1:模块化思想 非模块化有命名 ...
- AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码
AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 Wa ...
- hive 0.10 0.11新增特性综述
我们的hive版本升迁经历了0.7.1 -> 0.8.1 -> 0.9.0,并且线上shark所依赖的hive版本也停留在0.9.0上,在这些版本上有我们自己的bug fix patch和 ...
- Delphi XE5中的新增内容
Delphi XE5中的新增内容 Delphi XE5是所有Delphi开发人员的必须备升级,并且是来自Embarcadero的获奖的.多设备应用开发解决方案的最新版本.使用Delphi XE5的新特 ...
- chattr和lsattr命令,不能被删除、改名、设定链接关系,同时不能写入或新增内容
chattr和lsattr命令详解 chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现.同样-D检查压缩文件中的错误的功能, ...
- 基于File NIO写的一个文件新增内容监控器
基于File NIO写的一个文件新增内容监控器 需求说明 监控一个文件,如果文件有新增内容,则在控制台打印出新增内容. 代码示例 FileMoniter文件监控器类 package com.black ...
- Java SE 11 新增特性
Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Windows Azure Marketplace 为新增的 50 个国家/地区提供,并推出了令人振奋的新增内容,包括我们自己的 Bing 光学字符识别服务
尊敬的 Windows Azure Marketplace 用户: 我们有一些让人激动的新闻与您分享:我们现在为新增的 50 个国家/地区提供 Marketplace.自此,我们提供支持的国家/地区总 ...
随机推荐
- 你还在手动操作仓库?这款 CLI 工具让你效率飙升300%!
前言 作为一名开发者,我经常会在 GitHub 和 Gitee 上 fork 各种项目.时间一长,这些仓库就会堆积如山,变成了"垃圾仓库".每次打开代码托管平台,看到那些不再需要的 ...
- 超越Perplexity的AI搜索引擎框架MindSearch
超越Perplexity的AI搜索引擎框架MindSearch 介绍 MindSearch 是InternLM团队的一个开源的 AI 搜索引擎框架,由中科大和上海人工智能实验室联合打造的,具有与 Pe ...
- 卷积神经网络CNN实战:MINST手写数字识别——调用模型/模型预测
import torch import torchvision.transforms as transforms from PIL import Image import numpy as np im ...
- Linux samba的配置和使用
samba是什么 samba是什么?能干什么?什么场合需要用到它? samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标.S ...
- Docker容器常用操作命令(镜像的上传、下载、导入、导出、创建、删除、修改、启动等)详解
1.docker镜像下载 docker pull [options] name [:tag@digest] name后边可以跟镜像标签或者镜像摘要(其实就是镜像的版本),如果不加任何东西,则会默认是在 ...
- Drools决策表实践运用
Drools 决策表的使用与说明 Drools决策表的使用 官方文档决策表说明 决策表使用方式 执行drl代码及结果 Drools决策表的使用 官方文档决策表说明 Drools 决策表的使用 16.7 ...
- 闲的蛋疼整理了一下Dockerfile的命令和参数备查
Dockerfile 主要指令及参数: 指令 主要参数 作用 用法示例 FROM <image>[:<tag>] [AS <name>] 指定基础镜像 FROM u ...
- 前置机器学习(二):30分钟掌握常用Jupyter Notebook用法
相较于Pycharm执行py文件来说,Jupyter Notebook可保存执行过程,添加图表.注释等富文本说明的功能,使其对机器学习的开发者格外友好. 本文包含机器学习环境安装,Jupyter No ...
- 教你一招,测试人员如何通过AI提高工作效率!
伴随着AI技术的兴起,像OpenAI推出的ChatGPT.Microsoft发布的Microsoft 365 Copilot.阿里的通义千问.百度的文心一言.华为的盘古大模型等.很多测试人员开始担心, ...
- 【赵渝强老师】Flink的Watermark机制(基于Flink 1.11.0实现)
在使用eventTime的时候如何处理乱序数据?我们知道,流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间的.虽然大部分情况下,流到operator的数据都是按照事件 ...