文档章节

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

刘大神
 刘大神
发布于 2015/10/21 14:50
字数 731
阅读 80
收藏 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
博文 21
码字总数 17529
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高三暑假我是怎么想开去学linux系统的

高三的时候,我有一句口头禅:“老了老了,现在做题越来越迟钝了”。当时整天日夜苦读,体重日益增加,脸色越来越黯淡,我在终于熬过了高考的时候,简直心里面乐得开了花。我终于可以去做自己...

linuxprobe16
8分钟前
0
0
Python 获得命令行参数的方法

需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2]

编程老陆
15分钟前
0
0
链队

队列用链表来表示时,需要用两个变量来记录队列两端的变化:theFront,theBack. 根据链接方向的不同,链队有两种链接方式(其实就是链表的头插入节点和尾插入节点,头删除节点和尾删除节点)。...

Frost729
18分钟前
0
0
IDEA toString() json模板

public java.lang.String toString() {java.lang.StringBuilder builder = new java.lang.StringBuilder();#set ($i = 0)#foreach ($member in $members)#if ($i == 0)builder.appen......

Mtok
28分钟前
0
0
Dubbo内核实现之SPI简单介绍

Dubbo采用微内核+插件体系,使得设计优雅,扩展性强。那所谓的微内核+插件体系是如何实现的呢!即我们定义了服务接口标准,让厂商去实现(如果不了解spi的请谷歌百度下), jdk通过ServiceLo...

明理萝
33分钟前
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部