雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年11月22日

摘要: 最近写hashtable的实现的时候用模板类的思想,在普通int,long,double类型的时候测试时没问题的,当用到string的时候,一直有问题。 实现的equal函数是比较粗暴的使用两者所有对应内存字节是否相似来比较的。 bool equal(T a,T b){//用内存中字节的方法判断这块内存的对象的值是否相等,这样就不用关心结构内部的数据类型了 char *aCurret,*aEnd,*bCurret; aCurret=(char *)&a; aEnd=aCurret+sizeof(T); bCurret=(cha... 阅读全文

posted @ 2013-11-22 21:56 huhuuu 阅读(2391) 评论(0) 推荐(0) 编辑

摘要: 1. 问题提出最近在我们的项目当中,出现了两次与使用string相关的问题。1.1. 问题1:新代码引入的Bug前一段时间有一个老项目来一个新需求,我们新增了一些代码逻辑来处理这个新需求。测试阶段没有问题,但上线之后,偶尔会引起错误的逻辑输出甚至崩溃。这个问题困扰着我们很久。我们对新增代码做周详单元测试和集成测试都没有发现问题,最后只能逼迫我们去看那一大段未修改过原始代码逻辑。该项目中经常会碰到使用string,原始代码中有这样一段逻辑引起了我们的怀疑:1string string_info;2//... 对string_info的赋值操作3char* p = (char*)string_in 阅读全文

posted @ 2013-11-22 21:38 huhuuu 阅读(680) 评论(0) 推荐(0) 编辑