青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

勤能補(bǔ)拙,Expter

成都游戲Coder,記錄游戲開發(fā)過程的筆記和心得!

一周總結(jié),讀書筆記

          這周主要是熟悉開發(fā)流程,閱讀工程代碼,熟悉方案邏輯,查看需求文檔,然后就是看書學(xué)習(xí),閑來無事可以聽下歌,中午休息的時(shí)候去zoj做了幾道題目。

         
        查看了接近一周的代碼和書籍有了一下總結(jié):
1.如果不需要一個(gè)類的對(duì)象不能被隱式的轉(zhuǎn)換,可以在構(gòu)造函數(shù)前增加關(guān)鍵字explicit  
   
 1template<class T>
 2class Array
 3{
 4public:
 5    explicit Array(int _size = 0);
 6    T & operator [](int index);
 7    
 8}
;
 9
10Array<int> a(10);
11Array<int> b(10);
12
13if (a == b[i])
14{
15    // 如果沒有加explicit,可以編譯通過,加了就不能通過
16}

17// 要轉(zhuǎn)換可以使用
18if (a == static_cast<int> b[i])
19{
20    ..
21}

2.可以通過宏或者const常量,來優(yōu)化,減少和優(yōu)化常量,還可以利用宏來定義一些函數(shù),或者字符串的處理。
   比如一個(gè)簡(jiǎn)單的字符串處理
  
1#define  STR(ST) #ST

3.容器的使用,注意各種函數(shù)的參數(shù)和返回值以及各種函數(shù)使用。
   比如:關(guān)聯(lián)容器和標(biāo)準(zhǔn)容器在刪除元素的時(shí)候會(huì)不同。
     例子:
 1對(duì)于ma等關(guān)聯(lián)容器的元素刪除
 2map<int,int> mp;
 3for (map<int,int>::iterator it = mp.begin(); it != mp.end();)
 4{
 5    if ()  //滿足刪除條件
 6    {
 7        mp.erase(it++);//刪除當(dāng)前節(jié)點(diǎn),并返回下一個(gè)元素,自加
 8    }

 9    else
10    {
11        it++;
12    }

13}

14對(duì)于vector等標(biāo)準(zhǔn)容器的元素刪除
15vector<int> ve;
16for (vector<int>::iterator it = ve.begin(); it != ve.end();)
17{
18    if ()  //滿足刪除條件
19    {
20        it = ve.erase(it);
21    }

22    else
23    {
24        it++;
25    }

26}

27
28關(guān)于2者區(qū)別主要是erase返回值問題,可以在網(wǎng)上查相關(guān)的說明,

4.關(guān)于內(nèi)存池,基于動(dòng)態(tài)分配的安全的線程池,可以利用2個(gè)參數(shù),一個(gè)數(shù)據(jù)類型,一個(gè)鎖類的參數(shù)模板。
   關(guān)于內(nèi)存池可以閱讀boost::pool 庫(kù)相關(guān)文檔,Boost pool 庫(kù)引入了可用于實(shí)現(xiàn)快速內(nèi)存分配的工具。正確的內(nèi)存塊對(duì)齊可以得到保證。

   根據(jù) Boost 文檔所述,當(dāng)您分配和釋放許多小型對(duì)象時(shí),建議使用池。使用池的另一個(gè)不太明顯的優(yōu)點(diǎn)在于,作為程序員,您不必?fù)?dān)心內(nèi)存泄露:內(nèi)存由 Boost 庫(kù)在內(nèi)部自動(dòng)進(jìn)行管理。要使用 pool 庫(kù),您不必在鏈接時(shí)提供特定的庫(kù)——單憑頭文件就足以完成鏈接了。 有多個(gè)接口對(duì) pool 庫(kù)可用:
   關(guān)于Boost pool可以閱讀
  http://www.ibm.com/developerworks/cn/aix/library/au-util_boost_lib/


     另外實(shí)現(xiàn)一個(gè)鎖類有很大的用處,比如
 1template<typename TyVal>
 2class Lock
 3{
 4public:
 5    explicit Lock()
 6    {}
 7    explicit Lock(TyVal val):_val(val)
 8    {
 9        //加鎖
10    }

11    ~Lock(){//釋放}
12private:
13    TyVal _val;
14}
;
15
16如果我們有一段代碼需要加鎖,則可以直接使用
17vector<int> Vint;
18Lock<vector<int> > lock(Vint);
19可以直到lock的聲明周期結(jié)束,釋放資源

5.關(guān)于重載操作符,本周看到同事們?cè)谟懻撘粋€(gè)關(guān)于結(jié)構(gòu)體的代碼
  實(shí)例如下:
  
 1struct Test
 2{
 3    //
 4    
 5    Test & operator = (const Test &_t)
 6    {
 7        //關(guān)于此處是否需要增加一個(gè) _t與*this的判斷,
 8       memcpy(this,&t,sizeof(t));      
 9        return *this;
10    }

11    
12    //
13}
;
    因?yàn)樾屎桶踩膯栴},是否需要增加判斷的代碼,比如
     if(_t == *this)
     {
         return *this;
     }
   其實(shí)Effective C++的條款17: (在operator=中檢查給自己賦值)的情況已經(jīng)說了需要增加一個(gè)自檢驗(yàn)證,我們姑且不考慮memcpy的數(shù)據(jù)重疊問題(new placement),增加一個(gè)明顯有好處。

6. 必須有良好的OOA,OOD思想,這樣能更快寫出,高效的代碼。
7. 算法重要,有良好的編程風(fēng)格,在確保程序穩(wěn)定的同時(shí),增加效率。
 

個(gè)人總結(jié)不代表其他意見。。

posted on 2009-03-29 22:28 expter 閱讀(2906) 評(píng)論(7)  編輯 收藏 引用 所屬分類: 其他學(xué)習(xí)筆記工作筆記 、生活筆記

評(píng)論

# re: 一周總結(jié),讀書筆記 2009-03-29 22:55 bruce wuu

不錯(cuò)哦,你已經(jīng)工作啦,主要具體做些什么工作呀?你的方向是什么呀?
我走游戲編程這條路 呵呵 現(xiàn)在還沒什么工作經(jīng)驗(yàn)?zāi)?nbsp; 回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記[未登錄] 2009-03-29 22:59 A

第一個(gè)的好拗口  回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記[未登錄] 2009-03-30 00:08 jarod

如果我沒記錯(cuò)的話,map.erase(it)后,it移動(dòng)的結(jié)果是未定義的。有篇論文還專門討論了這個(gè)問題。所以這個(gè)用法在不同的stl實(shí)現(xiàn)上會(huì)出現(xiàn)不同的結(jié)果,
最好不要這樣用。但vector是可以的。  回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記 2009-03-30 08:48 路過的

>>>如果不需要一個(gè)類的對(duì)象不能被隱式的轉(zhuǎn)換

似乎多了個(gè)不字吧


>>>memcpy(*this,_t,sizeof(_t));

能這么做嗎  回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記 2009-03-30 09:11 expter

@路過的

寫錯(cuò)了,
應(yīng)該是 memcpy(this,&t,sizeof(t));
謝謝  回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記 2009-04-01 12:20 f

ding yi xia   回復(fù)  更多評(píng)論   

# re: 一周總結(jié),讀書筆記 2009-04-03 18:28 xx

要不讓編譯器提供=操作符 直接申明成private而且不去實(shí)現(xiàn),這就行了

要?jiǎng)h除容器內(nèi)滿足特定條件的元素 algorithm中的remove_if就行了 簡(jiǎn)單明了,還得注意如果容器里是指針刪除時(shí)的情況。

5.關(guān)于重載操作符,本周看到同事們?cè)谟懻撘粋€(gè)關(guān)于結(jié)構(gòu)體的代碼
實(shí)例如下:
1struct Test
2{
3 //
4
5 Test & operator = (const Test &_t)
6 {
7 //關(guān)于此處是否需要增加一個(gè) _t與*this的判斷,
8 memcpy(this,&t,sizeof(t));
9 return *this;
10 }
11
12 //
13}; 因?yàn)樾屎桶踩膯栴},是否需要增加判斷的代碼,比如
if(_t == *this)
{
return *this;
}

不管你是不是對(duì)this判斷,這樣做都是很危險(xiǎn)的,如果結(jié)構(gòu)體中有一個(gè)類,類中有虛函數(shù),不能保證sizeof(t)就是你預(yù)想的結(jié)果  回復(fù)  更多評(píng)論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美福利视频在线| 亚洲伦理中文字幕| 久久精品亚洲一区| 夜夜夜久久久| 欧美激情一区二区三区在线 | 一区二区三区精密机械公司 | 亚洲精品午夜| 亚洲国产婷婷香蕉久久久久久99| 看片网站欧美日韩| 99亚洲伊人久久精品影院红桃| 亚洲激情啪啪| 欧美日韩一区二区在线观看视频| 午夜精品久久久久久| 亚洲精品综合精品自拍| 含羞草久久爱69一区| 亚洲国产精品视频一区| 国产在线麻豆精品观看| 亚洲一区二区在线看| 久久综合国产精品| 欧美 日韩 国产 一区| 欧美成年网站| 香蕉久久国产| 欧美大尺度在线| 免费看的黄色欧美网站| 欧美日韩国产一级| 久久天天狠狠| 亚洲色无码播放| 国产精品毛片| 老妇喷水一区二区三区| 国产精品视频最多的网站| 欧美成人有码| 亚洲片区在线| 久久av一区二区| 亚洲午夜国产成人av电影男同| 久久久噜噜噜久久久| 久久亚洲私人国产精品va媚药| 欧美日韩亚洲一区二区三区在线 | 久久国产福利| 欧美日韩综合不卡| 日韩视频在线一区| 一区二区三区精品国产| 欧美激情亚洲综合一区| 亚洲精品在线二区| 亚洲女同精品视频| 欧美jizz19性欧美| 亚洲国产va精品久久久不卡综合| 国产一区二区毛片| 欧美一区二区三区视频免费播放| 亚洲欧美日韩视频一区| 国产精品久久久久av| 亚洲无线一线二线三线区别av| 亚洲综合精品自拍| 国内激情久久| 久久免费视频在线观看| 免费观看不卡av| 136国产福利精品导航网址| 久久漫画官网| 亚洲精品国产视频| 亚洲欧美在线aaa| 国产综合色产在线精品| 久久网站热最新地址| 亚洲人成毛片在线播放| 亚洲欧美不卡| 在线播放亚洲| 欧美日韩国产成人| 欧美一级在线亚洲天堂| 欧美激情在线| 久久国产精品网站| 日韩视频免费在线观看| 国产精品女人久久久久久| 久久精品国产99精品国产亚洲性色 | 国产日韩专区在线| 欧美国产亚洲视频| 欧美在线观看网站| 日韩视频免费观看| 蜜臀av在线播放一区二区三区| 一片黄亚洲嫩模| 亚洲高清三级视频| 国产精品综合| 国产精品av久久久久久麻豆网| 久久久久中文| 亚洲欧美久久久| 亚洲日本电影| 亚洲第一伊人| 免费在线看成人av| 久久免费视频观看| 亚洲欧美在线磁力| 在线一区二区三区四区| 亚洲精品日韩在线| 亚洲片在线资源| 亚洲日本欧美天堂| 亚洲国产日韩综合一区| 在线成人激情黄色| 亚洲电影免费| 亚洲高清精品中出| 在线精品一区| 91久久精品久久国产性色也91| 在线欧美亚洲| 1769国内精品视频在线播放| 激情久久婷婷| 亚洲经典在线| 亚洲最新色图| 午夜影视日本亚洲欧洲精品| 欧美在线精品一区| 久久一区免费| 亚洲激情午夜| 亚洲视频你懂的| 久久精品国产99| 欧美激情成人在线| 国产精品国产三级国产专区53 | 欧美极品aⅴ影院| 国产精品视频免费在线观看| 国产一区二三区| 日韩一区二区精品| 欧美一区二区三区视频在线| 麻豆久久精品| 亚洲人成毛片在线播放| 亚洲欧美在线aaa| 鲁大师成人一区二区三区| 欧美视频二区36p| 海角社区69精品视频| 一区二区三区日韩在线观看| 六月婷婷久久| 中文精品视频一区二区在线观看| 久久精品91久久久久久再现| 欧美香蕉视频| 亚洲激情亚洲| 久久婷婷麻豆| 亚洲小说区图片区| 欧美精品精品一区| 在线精品国精品国产尤物884a| 欧美一区二区三区在线看| 日韩一级视频免费观看在线| 亚洲欧美国产高清va在线播| 亚洲国产精品福利| 久久大综合网| 国产欧美日韩精品a在线观看| av成人免费在线| 亚洲国产老妈| 欧美69视频| 亚洲裸体俱乐部裸体舞表演av| 免费看成人av| 亚洲欧美精品在线观看| 亚洲欧洲日本国产| 欧美另类视频在线| 99在线精品视频| 亚洲黄色在线观看| 欧美激情视频给我| 亚洲午夜久久久久久久久电影网| 亚洲三级色网| 国产精品一区二区久久国产| 亚洲欧美日韩中文播放| 午夜精品久久久久久99热| 国产综合18久久久久久| 欧美成人第一页| 欧美日韩麻豆| 久久久久国产一区二区三区| 久久久www成人免费无遮挡大片 | 国产日韩欧美中文| 免费一级欧美在线大片| 欧美国产精品va在线观看| 宅男噜噜噜66国产日韩在线观看| 9色国产精品| 国内精品美女av在线播放| 亚洲国产精品久久久久婷婷884| 欧美二区在线播放| 欧美亚洲免费电影| 欧美不卡高清| 久久久久国产精品麻豆ai换脸| 欧美久久一级| 久久久欧美精品sm网站| 蜜桃视频一区| 性欧美超级视频| 欧美激情精品久久久久久久变态| 欧美伊人精品成人久久综合97 | 欧美国产精品日韩| 久久最新视频| 国产日本欧洲亚洲| 一本大道久久a久久精品综合| 狠狠色综合一区二区| 亚洲网站在线| 一本大道久久a久久精品综合| 久久视频一区| 久久婷婷av| 一区视频在线| 久久av一区二区三区| 欧美一区二区三区四区视频| 国产精品成人免费视频| 亚洲免费大片| 一区二区三区蜜桃网| 欧美日韩国产综合视频在线观看中文 | 国产精品你懂的在线欣赏| 一区二区高清在线观看| 亚洲色诱最新| 欧美日韩中文在线| 亚洲精品日韩激情在线电影| 亚洲美女中出| 欧美区一区二| 中文欧美字幕免费| 久久精品麻豆|