代码改变世界

随笔档案-2014年12月

循环队列的一种实现模型

2014-12-31 00:41 by origins, 2024 阅读, 收藏, 编辑
摘要: 前言前段时间在知乎上看到这样一个小题目:用基本类型实现一队列,队列要求size是预先定义好的的。而且要求不可以使用语言自带的api,如C++的STL。普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间。这个队列还要支持如下的操作:constructor... 阅读全文

boost::bind的简单实现

2014-12-18 16:59 by origins, 1562 阅读, 收藏, 编辑
摘要: 前言在上一篇blog中简单的实现了boost::function,支持带有2个参数的函数/函数指针,函数对象,函数适配器/bind类,以及带有1个参数的成员函数指针。本文接着来介绍如何实现一个简单的boost::bind。基本目标如下:支持接收0个参数的函数/函数指针,函数对象。支持接收1个参数的函... 阅读全文

boost::function的简单实现

2014-12-17 20:35 by origins, 3697 阅读, 收藏, 编辑
摘要: 前言boost::function和boost:bind是一对强大的利器。相信用过的童鞋多少有些体会。虽然平时在用boost::function,但是用的时候心中总会一些不安,因为不知道它是怎么实现的。于是,就自己琢磨着简单的实现一下,搞明白基本的原理。对于这个简单实现,有以下几个目标:选取比较常见... 阅读全文

聊聊C++模板函数与非模板函数的重载

2014-12-02 20:22 by origins, 4001 阅读, 收藏, 编辑
摘要: 前言函数重载在C++中是一个很重要的特性。之所以有了它才有了操作符重载、iostream、函数子、函数适配器、智能指针等非常有用的东西。平常在实际的应用中多半要么是模板函数与模板函数重载,或者是非模板函数与非模板重载。而让模板函数与非模板函数重载的情况却很少。前段时间在项目中偶然遇到了一个模板函数与... 阅读全文

解析gtest框架运行机制

2014-12-01 21:59 by origins, 9590 阅读, 收藏, 编辑
摘要: 前言Google test是一款开源的白盒单元测试框架,据说目前在Google内部已在几千个项目中应用了基于该框架的白盒测试。最近的工作是在搞一个基于gtest框架搭建的自动化白盒测试项目,该项目上线也有一段时间了,目前来说效果还是挺不错的。侯捷先生在《STL源码剖析》中说过一句话:”会用STL,是... 阅读全文
点击右上角即可分享
微信分享提示