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

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

你可能感兴趣的:(C++11)