自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 C++11的shared_ptr有可能导致函数调用栈溢出

最开始关注这个问题是在测试C++ Concurrency in Action这本书提及的几个版本stack数据结构的实现,其中lock free版本的实现时,需要精巧的内存回收机制,其中在介绍count reference内存回收机制时,作者认为shared_ptr是有reference count的指针,如果某个平台支持lock free版本的shared_ptr,可以使用它来简化count r...

2018-09-25 17:58:05 584

原创 C++ 标准关于“carries a dependency"的定义

http://open-std.org/JTC1/SC22/WG21/docs/papers/2011/n3242.pdf 是c++11的标准文档的路径。1.10.9其中描述了关于“carries a dependency"的定义,其中的关键字“left operand”一定要理解成剩下的,未参与“evaluation”的操作数,如果理解成“左操作数”那么将误入歧途。...

2018-04-17 11:54:34 367

原创 最坏情况下保证时间复杂度为N*logN的快速排序

快速排序的平均时间复杂度是N*logN,同时其也是实践已知的最快的通用排序算法,但是其最坏情况的时间复杂度依然是N的平方,但是只要我们对快速排序算法稍作修改,就可以保证其最坏情况的时间复杂度也是N*logN。思路就是在递归达到一定深度后,将快速排序的递归调用改为堆排序,下面是我实现的代码

2017-07-03 23:34:29 2516

原创 整数的线性排序算法-基数排序

基数排序对被排序的类型有很强的要求,如对整数的排序,就是在我们知道整数在内存中的表示方法的前提下,才得以实现。当然其对被排序类型要求严格,带来的回报就是时间复杂度达到了线性。下面是我实现的基数排序,实现了算法本身,测试方法,时间统计等代码逻辑

2017-07-03 22:19:16 481

原创 C++ nontrival class 值传递的机制。

研究C++已经有一段时间了,我那时扔掉了手头的中文版c++ primer,开始阅读英文版,用时一年半多才勉强开完一遍,增加了一千一百多个注释,如果确认没有版权问题,我会把它共享。再给gcc提bug时,通过邮件交流得知C++标准化工作组的网站,http://open-std.org/JTC1/SC22/WG21/,后面有陆续接触了C++创始人写的书,以及他在自己home page http://

2015-09-08 22:13:31 564

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除