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的实现 template class _Dx> // = default_de原创 2015-06-26 14:07:38 · 608 阅读 · 0 评论 -
vs2013之ref源码解析
看到很多地方都是用ref,比如thread绑定函数接口及参数,虽然绑定的函数参数需要引用,但是thread的构造函数不知道, 还是会拷贝一份临时变量出来给函数,然后函数使用的是临时变量的引用。无法达到用户真正的需求 今天仔细看了下ref的实现 以vs2013实现ref为例。boost之类的应该也大同小异 先看ref的使用 TestFunction(ref(T));在一些标准库或则原创 2015-06-26 10:22:24 · 969 阅读 · 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 · 376 阅读 · 0 评论 -
bind及function的简单举例
当时想着一个带参数的函数,如何将参数指定好,然后保存到一个对象中,后续直接调用这个对象即可 而不用再这个对象中再传入参数。function的使用就需要再传参数,比如 void GlobalFunction(int& i) { ++i; } 使用function的效果 int j = 10; function fun1 = GlobalFunction; fun1(j);原创 2015-10-10 09:17:51 · 417 阅读 · 0 评论