文档章节

粗略的整理了一下c++11特性

刘大神
 刘大神
发布于 2015/10/21 14:50
字数 731
阅读 82
收藏 1

1.c++11 定义了5种有符号类型  signed char,short int ,int ,long int ,long long int
2.c++11 提供了静态断言;所谓的静态断言,是在编译期的断言,不同于运行时断言assert;静态断言static_assert  接受2个参数,第一个是断言表达式,需要返回一个bool值;第2个参数是警告信息,通常是一个字符串。
3.c++11 noexcept修饰符和操作符,在c++11里面提供了新的异常修饰符 noexcept,当其作为修饰符时,有效的阻止异常扩散;当其作为操作符时通常用做模版,判断函数是否会抛出异常,抛出异常返回false
4.c++11 提供了一种快速初始化成员变量的方式,列表初始化,提供了对非静态成员的初始化。
5.c++11 sizeof ,提供了对成员变量的操作,增加可读性,便利性。
6.c++11 friend ,c++11 对friend进行了扩展,friend声明友元时 可省略关键字class ,亦可声明类别名。
7.c++11 final,override, c++11 final关键字 阻止其他派生类重载已有函数;override关键字 声明该函数必须重载基类同名虚函数。
8.c++11 提供模版函数的默认模版参数
9.c++11 提供外部模版 extern template 去除冗余代码
10.c++11 提供继承构造函数,不可继基类虚构造函数 派生类使用继承构造函数室,本身并无构造函数
11.c++11 提供委托构造函数,使多类构造函数写起来更方便
12.c++11 提供std::move 移动语义  和右值引用  减少拷贝构造时候的内存消耗
13.c++11 实现了一种完美转发机制  例如:make_pair  make_unique
14.c++11 提供显示操作符转换关键字explicit 意味着只有在直接构造目标类型或显示类型转换的时候可以使用该类型
15.c++11 提供了列表初始化,防止类型收窄
16.c++11 中经常会出现pod的概念
17.c++11 提出了inline namespace
18.c++11 提出了使用using 来定义别名
19.c++11 SFINEA规则
20.c++11 对‘>’右尖角号的改进
21.c++11 提出了auto类型推导,c++11中auto只做类型推导
22.c++11 提出了decltype类型推导,与auto用法不太一样
23.c++11 提出了基于范围的for循环
24.c++11 提供了强枚举  enum class  有1.强作用域 2.转换限制 3指定底层类型等优点  并且对enum做了扩展
25.c++11 使用智能指针维护内存,unique_ptr,shared_ptr,weak_ptr

26.c++11 提供了变长模版
27.c++11 lambda形象大变
28.c++11 是否生成缺省函数  default  /delete

© 著作权归作者所有

共有 人打赏支持
刘大神
粉丝 8
博文 20
码字总数 16873
作品 0
朝阳
程序员
OpenWRT开发之——对C++11的支持

前言 在上篇文章中博主尝试了在OpenWrt上用C++写个简单的程序测试了一下,可行。 博主这两天又了解了C++11,里面的新特性非常令我兴奋。比如sharedptr, lambda, auto都是非常有用的特性。[点...

临峰不畏
2015/05/18
0
11
Qt Tips:在Qt中使用C++11

首先要确保所用的编译器支持C++11。 GCC 4.8.1(以及更新的版本)完整支持C++11,VS2013支持很多C++11特性,VS2015支持大部分。 其次,在Qt工程的.pro文件中加入如下一行(单独占一行): CO...

风华神使
2015/10/24
431
0
C++如何不使用C++11的新特性来实现一个自动注册的工厂?

各位好,我想写一个类似于链接中的C++中实现自动注册的工厂的工厂模式,博客中使用了C++11标准的lambda表达式和std::function,因为工作中不能使用支持C++11标准的编译器,所以想请问一下各位...

西行寺幽幽子
2016/04/12
198
5
Clang 宣布全面支持 C++11 标准

Clang 的开发者宣布支持所有的 C++11 语言标准特性,C++11 语言标准是在 2011年夏季发布的。最新的 ISO 标准特性添加了支持继承构造器和 threadlocal 变量。 LLVM 3.3 和 Clang 计划在 2013...

oschina
2013/04/22
7.7K
25
RAD Studio 10.2.2 (C++Builder)试用体验

因为最早学C/C++的时候,是从Turbo C和borland C++开始的,所以RAD studio有新版本的时候,就下载体验一下。 从发布历史来看,现在是每半年做一次更新,所以原来的版本更新非常快。安装包也是...

zdhsoft
03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序开发系列六:微信框架API的调用

微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发...

JerryWang_SAP
27分钟前
1
0
5 个用 Python 编写 web 爬虫的方法

大家在读爬虫系列的帖子时常常问我怎样写出不阻塞的爬虫,这很难,但可行。通过实现一些小策略可以让你的网页爬虫活得更久。那么今天我就将和大家讨论这方面的话题。 我刚整理了一套2018最新...

糖宝lsh
28分钟前
0
0
docker安装redis、mongodb、mysql等

一、启动docker服务,设置镜像: systemctl start dockervi /etc/docker/daemon.json{ "registry-mirrors": ["https://registry.docker-cn.com"]} 二、下拉镜像: 在镜像中心h...

狼王黄师傅
今天
4
0
deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
今天
4
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部