stl
qq_19408603
这个作者很懒,什么都没留下…
展开
-
阅读effective stl 有感(一)
当读到这本书的时候这有种相见恨晚的感觉啊! 边读以前写过的一行行stl代码就在自己的脑海中浮现。下面我一条条总结我读stl的感想:第一条:善用typedef之前的访问者模式例子其实可以使用typedef 来写出节省修改类型时间的代码前面的范围,由于我使用的是osg::bouindgbox 使得我的代码依赖于osg,但是很多人不使用osg。后面我就利用typedef重写了一遍原创 2017-04-22 15:55:43 · 323 阅读 · 0 评论 -
阅读effective stl 有感(二)
stl的条款:1. 容器里容纳的对象是通过拷贝复制构造函数进行复制的结果,考进去,然后拷出来。以基类对象建立一个容器,而试图插入派生类,那么派生类对象通过拷贝构造函数到容器中时候,派生类部分会被删掉,所以需要建立指针容器。2. 用empty来检查size为0。empty是一个常数时间的操作,但对于一些list实现,size花费线性时间。3. 尽量使用区间成员函数代替它们的单元素兄弟,尽原创 2017-04-22 16:00:17 · 168 阅读 · 0 评论 -
避免死锁的进阶指导
1.第一个线程已获得锁,在别去获取第二个,当需要多个锁的时候使用std::lock来处理2. 避免使用用户提供的代码去锁3. 使用固定顺序获取锁原创 2017-05-31 22:28:40 · 152 阅读 · 0 评论 -
多线程学习(四)
boost::shared_mutex 这个配合boost::shared_lock类这个相当于读锁嵌套锁不是一个很好的选择,尽量尝试更改数据结构条件和期望线程会等待一个特定事件等待原创 2017-06-03 16:24:49 · 219 阅读 · 0 评论 -
使用stl实现快速排序
快速排序方法思路是:每次使用第一个元素作为分割线,然后对后面的元素进行分割。然后再对分割的两段(左边和右边)再重复之前的方式,选择两小段的第一个元素进行分割,不断迭代,直到完全排序。本文在上述思路下利用stl中的list作为容器,用到了list的splice分割,和算法中的partion算法的实现如下:templatestd::list quicksort(std::lis原创 2017-08-08 08:48:22 · 1675 阅读 · 0 评论