《C++11》特性
文章平均质量分 59
NAME
生活会回报你所有的努力
展开
-
C++11 转移语义
2.转移语义的定义 右值引用是用来支持转移语义的。转移语义可以将资源 ( 堆,系统对象等 ) 从一个对象转移到另一个对象,这样能够减少不必要的临时对象的创建、拷贝以及销毁,能够大幅度提高 C++ 应用程序的性能。临时对象的维护 ( 创建和销毁 ) 对性能有严重影响。转移语义是和拷贝语义相对的,可以类比文件的剪切与拷贝,当我们将文件从一个目录拷贝到另一个目录时,速度比剪切慢很多。在现有的原创 2014-04-07 21:35:43 · 1007 阅读 · 0 评论 -
C++11 自动类型推断和类型获取
1.自动类型判断编译器能够在一个变量的声明时候推断出它的类型,那么你就能够用auto关键字来作为他们的类型。接触过泛型编程或者API编程的人大概可以猜出自动类型推断是做什么用的了:帮你省去大量冗长的类型声明语句。如下:vector vec;vector::iterator itr = vec.iterator();可以这样写:vector vec;auto itr = ve原创 2014-04-07 21:18:17 · 1150 阅读 · 0 评论 -
C++ 11 move应用于右值引用
运行结果 :LValue processed: 0 RValue processed: 0原创 2014-04-07 21:42:36 · 694 阅读 · 0 评论 -
C++11标准后的C++阅读书目
来自伯乐在线:http://blog.jobbole.com/47357/转载 2014-04-07 21:57:26 · 881 阅读 · 0 评论 -
C++11 右值引用
右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面:消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。能够更简洁明确地定义泛型函数。1.右值引用原创 2014-04-07 21:27:14 · 651 阅读 · 0 评论 -
C++11 Lambda函数(匿名函数)
1.匿名函数介绍匿名函数是一个神奇的函数,为写代码带来很多方便如下:#includeusing namespace std;int main(){ auto func = [] () { cout func(); // now call the function}其中func就是一个lambda函数。我们使用auto来自动获取func的类型,定原创 2014-04-07 21:46:07 · 725 阅读 · 0 评论