前几天看了一篇文章《4行代码看看右值引用》 觉得写得不错,但是觉得右值引用的内容还有很多可以去挖掘学习,所以总结了一下,希望能对右值引用有一个更加深层次的认识 一、几个基本概念 1.1左值和右值 ...
前几天看了一篇文章《4行代码看看右值引用》 觉得写得不错,但是觉得右值引用的内容还有很多可以去挖掘学习,所以总结了一下,希望能对右值引用有一个更加深层次的认识 一、几个基本概念 1.1左值和右值 ...
C++移动构造函数以及move语句简单介绍 首先看一个小例子: 结果为: 结果为: 这两个小程序唯一的不同是调用vc.push_back() ...
新参与的项目中,为了使用共享内存和自定义内存池,我们自己定义了MemNew函数,且在函数内部对于非pod类型自动执行构造函数。在需要的地方调用自定义的MemNew函数。这样就带来一个问题,使用st ...
写在前面 C++中有“左值”、“右值”的概念,C++11以后,又有了“左值”、“纯右值”、“将亡值”的概念。关于这些概念,许多资料上都有介绍,本文在拾人牙慧的基础上又加入了一些自己 ...
紧接上一篇译文,这一篇对move语义的来龙去脉有非常详尽的回答(原文),篇幅较长,如果你能读完,相信你不会再问任何关于move语义的问题了。 ---------------------------- ...
1. 介绍 在 C++ 中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针(smart pointer)。智能指针是存储指向动态分配(堆)对象指 ...
见下图: 规律总结: 只要我们传递一个基本类型是A④的左值,那么,传递后,T的类型就是A&,形参在函数体中的类型就是A&。 只要我们传递一个基本类型是A的右值,那么, ...
c++ forward关键字 forward的由来:保持住参数的右值属性。 模板函数中的推导类型,作为另一函数的参数时,不管实参是什么类型,作为另一个参数的实参时,都变成了左值。因为C++里规定函 ...
前不久facebook在github上发布了一个c++工具库folly,其中的实现大量的使用了c++ 11的新特性,同时,gcc 从4.3版本开始支持c++ 11, 到现在的版本4.8,已经支持了绝大 ...
对于c++11来说移动语义是一个重要的概念,一直以来我对这个概念都似懂非懂。最近翻翻资料感觉突然开窍,因此记下。其实搞懂之后就会发现这个概念很简单,并无什么高深的地方。 先说说右值引用。右值一般指的 ...