C++11
hjing1988
这个作者很懒,什么都没留下…
展开
-
vs2013之move源码解析
move语句简单解析C++11中出了一个move语句,其含义是将T转换为T&&比如以指针使用为例unique_ptr aa(new CTestClass);unique_ptr bb = std::move(aa);如果不使用std::move,语句是编译不过去的,看下unique_ptr的实现templateclass _Dx> // = default_de原创 2015-06-26 14:07:38 · 602 阅读 · 0 评论 -
vs2013之ref源码解析
看到很多地方都是用ref,比如thread绑定函数接口及参数,虽然绑定的函数参数需要引用,但是thread的构造函数不知道,还是会拷贝一份临时变量出来给函数,然后函数使用的是临时变量的引用。无法达到用户真正的需求今天仔细看了下ref的实现以vs2013实现ref为例。boost之类的应该也大同小异先看ref的使用TestFunction(ref(T));在一些标准库或则原创 2015-06-26 10:22:24 · 949 阅读 · 0 评论 -
Lambda使用
1、Lambda的各种调用void CTestA5::TestLambda(){ [](){cout auto testNoParam = [](){cout testNoParam(); auto test = [](int k){ cout test(10); // 调用 // 无参数但是有返回类型的调用原创 2015-10-08 12:53:02 · 368 阅读 · 0 评论 -
bind及function的简单举例
当时想着一个带参数的函数,如何将参数指定好,然后保存到一个对象中,后续直接调用这个对象即可而不用再这个对象中再传入参数。function的使用就需要再传参数,比如void GlobalFunction(int& i){ ++i;}使用function的效果int j = 10;function fun1 = GlobalFunction;fun1(j);原创 2015-10-10 09:17:51 · 410 阅读 · 0 评论