- 博客(5)
- 收藏
- 关注
转载 智能指针:unique_ptr、shared_ptr、weak_ptr
智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(除非将智能指针保存起来)。一、auto_ptr:这是一个被c++11标准废弃的一个智能指针,unique_ptr可以看做是替代品。二、shared_ptr:shared_ptr使用引用计数,每一个shared_ptr的拷贝都指向相...
2018-03-12 10:22:55 619
转载 C++11新特性:function, bind和lambda
function, bind和lambda:http://blog.csdn.net/Augusdi/article/details/11771699bind中使用std::ref和std::cref,bind中默认使用的拷贝,而不是引用,根据实际情况,可使用std::ref和std::cref将参数设置为引用https://www.cnblogs.com/jiayayao/p/6527713.h...
2018-03-09 10:09:25 490
转载 时间复杂度说明
大O符号与时间复杂度:http://blog.csdn.net/u010297957/article/details/51016782时间复杂度log的说明:例如for(int j=1; j<=n; j*=2)这个循环最终执行的次数假设为x,则x次的时候j=2^x 当j>n时停止执行,于是2^x>n 则可以认为该循环一共执行了log2(n)次所以该循环的时间复杂度为o(log2(...
2018-03-07 10:36:39 458
转载 理解二叉树,平衡二叉树,红黑树
c++的STL 中set,map是红黑树(红黑树是平衡二叉树的一种),我们需要深入理解红黑树,平衡二叉树的起源。为什么要用红黑树?红黑树的起源,自然是二叉查找树了,这种树结构从根节点开始,左子节点小于它,右子节点大于它。每个节点都符合这个特性,所以易于查找,是一种很好的数据结构。但是它有一个问题,就是容易偏向某一侧,这样就像一个链表结构了,失去了树结构的优点,查找时间会变坏。红黑树就是一种平衡树,...
2018-03-06 10:22:00 949
转载 c++ 11中emplace_back替代push_back的相关知识点,含右值引用,move用法等
C++11引入了右值引用,转移构造函数,push_back()右值时就会调用构造函数和转移构造函数(原来是调用拷贝构造,会为临时变量申请堆空间,影响程序效率,C++11以后为右值引用调用转移构造函数,不会为临时变量申请堆空间,而是直接赋值,提高程序效率)。 使用mplace_back替代push_back()可以在这上面有进一步优化空间,只调用构造函数不需要调用右值引用转移构造函数。如:reEle...
2018-03-02 10:38:35 1971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人