免费看欧美黑人毛片-免费看毛片网站-免费看毛片的网站-免费看久久-中文字幕日韩欧美-中文字幕日韩精品一区

您現在的位置:首頁 > IT認證 > 軟件水平 >

軟考程序員輔導:c++自動列表模式


2012年軟考程序員輔導:c++自動列表模式

該模式引自游戲編程精粹,但是他那里面是windows的代碼,放到linux下不能運行,所以進行了調整。

  說明:在程序設計的時候,會經常用到一組或幾組類型相同(classT)的數據,假設我們使用鏈表存儲。

  面臨的問題:

  1、鏈表存放的位置。

  2、每創建一個對象都要插入到該鏈表中,每銷毀一個對象都要從鏈表中刪除

  3、不能胡亂的插入和刪除對象。

  要解決上面的問題,可能需要在很多地方插入類似的代碼,往往這種代碼就是引入bug的地方,有一種解決方案就是“自動列表模式”。

  點擊(此處)折疊或打開

  #ifndef_TAUTOLISTS_H_

  #define_TAUTOLISTS_H_

  #include

  #include

  usingnamespacestd;

  template

  classTAutolists

  {

  typedeftypenamelist::iteratoriter_t;

  public:

  TAutolists()

  {

  ms_List.push_front(static_cast(this));

  }

  virtual~TAutolists()

  {

  ms_List.remove(static_cast(this));

  }

  public:

  staticT*GetAutolistFirst()

  {

  if(ms_List.begin()==ms_List.end())

{
  returnNULL;

  }

  else

  {

  ms_ListIter=ms_List.begin();

  return*ms_ListIter;

  }

  }

  staticT*GetAutolistNext()

  {

  if(ms_ListIter==ms_List.end()

  ||++ms_ListIter==ms_List.end())

  {

  returnNULL;

  }

  else

  {

  return*ms_ListIter;

  }

  }

  staticunsignedintGetAutolistCount()

  {

  returnms_List.size();

  }

  public:

  staticlistms_List;

  staticiter_tms_ListIter;

  };

  //Declarationsofstaticvariables

  template

  listTAutolists::ms_List;

  template

  //typedeftypenamelist::iteratoriter_t;

  typenamelist::iteratorTAutolists::ms_ListIter;

  #endif

  測試程序:

  點擊(此處)折疊或打開

  #include

  #include"TAutolists.h"

  classvec:publicTAutolists

  {

  public:intm_x;
  intm_y;

  };

  usingnamespacestd;

  /*

  template

  classA

  {

  public:

  staticTa;

  };

  template

  TA::a;

  intmain(intargc,char*argv[])

  {

  A::a=0;

  }

  */

  intmain(intargc,char*argv[])

  {

  veclv1;

  lv1.m_x=1;

  veclv2;

  lv2.m_x=2;

  cout《"countis"《lv1.GetAutolistCount()《endl;

  vec*cptmp=lv2.GetAutolistFirst();

  while(cptmp)

  {

  cout《"xis"《cptmp->m_x《endl;

  cptmp=lv2.GetAutolistNext();

  }

  return(0);

  }

相關文章

無相關信息
更新時間2022-03-13 11:10:58【至頂部↑】
聯系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網站糾錯二維碼手機版

客服電話:




主站蜘蛛池模板: 陈慕义| 电视剧一帘幽梦| 凤凰卫视资讯台直播| 我们的高清免费视频观看| 王渝萱最火的三部电影| 二十以内加减法口诀表| 关德兴| 小偷家族深度解析| 1998年槟榔西施| 奶露拖| 五月天丁香婷婷| 周星驰的全部电影免费观看| 魔法少女砂沙美| 福利视频观看| 母亲とが话しています免费| deauxma| 性感美女写真视频| 通灵之王| 伊利亚| 电影《uhaw》| 陈宝莲徐锦江夜半2普通话| 孔令辉简历及个人资料| 《重紫》电视剧| 怎么剪福字简单方法视频| 汪佳辉| 我的丁香结| 在线播放网站| 尘埃落定演员表| 脚心视频| 首映式| 电影一对一| 彭丹丹最惊艳的电影| 拨萝卜电视剧视频歌高清在线观看大牛| 生物选择性必修三| 人总要有点爱好,生活才能继续| 法尔| 纳西三部曲| 伴娘| 8号房间| 尤克里里谱| 前线任务|