注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

C++小知识15—list的remove的一点儿小体会  

2011-06-20 09:32:56|  分类: C++(VC)编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

list的remove的一点儿小体会
最近用LIST发现了一个原来发现过的小问题,就是在REMOVE时记着一定要在模板类中实现==操作,不过一个操作符重载罢了,试举一例:
typedef struct __TestStruct
{
  byte ID;
  int len;
  short count;
  byte data[3];

  //注意这里
  bool operator == (const __TestStruct & ts)//这里也要注意,尚未重命名
  {
 if (this->ID == ts.ID)
 {
   return true;
        }

 return false;
  } 
}TTestStruct,*PTestStruct;

只要有了这个,我们就可以在LIST的实例对象里REMOVE了。不然的话,在STL的模板里,会断掉,然后你会发现正好是一个*Fst == XXX这样的代码。
说到这里,还有一个小问题,那就是如何比较当前变量与LIST内数据相等呢。一个简单方法
memcmp(this, &ts,sizeof(this)),很简单吧。
要善于学习和动脑筋,要多学习别人好的方法。

  评论这张
 
阅读(1012)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017