![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
蓝贝壳壳
热爱软件事业 崇尚自由 一个不愿成为码农的码农 多年苦心探索和参悟 希望解放全天下苦逼的码农
展开
-
基于环形缓冲区的deque实现方法
众所周知,C++ STL中有一个叫做deque的容器,实现的是双端队列数据结构,这种队列允许同时从队列的首部和尾部插入和删除数据。 然而在STL中这种数据结构是用”分段连续”的物理结构实现的(可以参考侯捷老师的《STL源码剖析》)。网上分析STL中这种容器的文章很多,如: http://blog.csdn.net/baidu_28312631/article/details/48000123原创 2016-10-20 00:50:50 · 1855 阅读 · 0 评论 -
Golang仿函数实现方法及效率测试
在C++ STL中,仿函数(functors)被大量用作改变算法的内在行为。 由于Golang不支持泛型,所以没法像C++那样灵活的使用仿函数。但是Golang有interface,函数是”一等公民”(可赋值给指定类型变量),因此,在Golang中实际上也可以像仿函数那样,通过具有相同参数和返回值的方法声明的不同对象,实现行为的差异化。 下面,详细讲述,Golang中的实现方法: 以下通过不同原创 2016-10-30 22:35:38 · 1430 阅读 · 0 评论 -
不要使用有副作用的std.map.[]操作符
map的[]操作符包含隐性操作:当key不存在的时候,会默认执行insert操作这种隐性操作在大多数情况下是有害的。原创 2017-05-05 15:02:51 · 576 阅读 · 0 评论