您的位置:首页 > 编程语言 > C语言/C++

C++11 新特性

2017-08-17 01:49 253 查看
右值引用&转移语义

消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率;

能够更简洁明确地定义泛型函数。

https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/

委托构造函数

在一个构造函数中调用另外一个构造函数,这就是委托的意味,不同的构造函数自己负责处理自己的不同情况,把最基本的构造工作委托给某个基础构造函数完成,实现分工协作。

http://blog.csdn.net/hyqsong/article/details/51542737

final

显式禁止类被继承

default

显式实现默认构造/析构函数

nullptr

强类型的空指针

auto

自动类型推导

constexpr

允许将变量声明为constexpr类型让编译器来验证变量的值是否是一个常量表达式。

声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化

http://blog.csdn.net/kturing/article/details/45286823

noexpect

声明函数不能抛出任何异常,若定义了noexpect的函数抛出异常,则程序终止

http://blog.csdn.net/zkreats/article/details/50550786

override

显式的在派生类中声明哪些虚函数需要重写,若未重写则编译器会报错

http://www.cnblogs.com/xinxue/p/5471708.html

lambda表达式

就地编写匿名函数(闭包)

https://www.zhihu.com/question/20125256

可变参数模板

可以在模板参数列表里书写任意数量类型名

模板别名

使用C++11的模板别名特性可以简化容器的类型声明

eg.

template<typename T>
using NgxStdVector = std::vector<T, NgxAlloctor<T>>; // 模板别名

NgxStdVector<char> v(pool);     // 使用模板别名创建容器


模板元编程

在编译期计算类型,根据模板参数推导返回值

http://ju.outofmemory.cn/entry/30164
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++