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