• <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>
            SmartPtr
            本博客已搬至:http://www.cnblogs.com/baiyanhuang/
            posts - 29,comments - 176,trackbacks - 0
            共2頁: 1 2 
            代碼數量少, 并不代表其后執行的指令少; 當然,對于現在的編譯器,我們有理由相信它會幫我們優化的很好,我不敢保證我的消除了if-else的代碼會比其優化后的更好, 但至少我們知道了這其中優化有可能是這么做的。
            博主果然強, 做夢都在工作, 而且還是內存泄露這么具體的事, 而且還那么準。。。。

            我們項目中一般用
            #ifdef _DEBUG
            #define new DEBUG_NEW
            #undef THIS_FILE
            static char THIS_FILE[] = __FILE__;
            #endif

            DEBUG_NEW分配的內存會被跟蹤, 所以當程序退出的時候我們能知道哪些內存沒被釋放以及其詳細信息。

            博主前面講的幾種方法, 如分配申請號, 內存地址, 內存大小都不曾使用過, 但的確有意思, 有啟發。
            對,就是搬家:)
            re: C++模板類的三種特化 SmartPtr 2007-07-05 17:30
            謝謝walkspeed的回復, 我想對于全特化和偏特化這么理解應該是正確的, 就是全特化后確定了一個真正的類型, 而偏特化后其實還是一個原類型, 這樣的話, 以上2, 3的確屬于偏特化。
            模板的運用的確很廣,無論模板元編程中的將計算提前到編譯器,還是編譯器多態(或者叫靜態多態), 都是非常漂亮聰明的應用, 在<<Modern C++ Design>>有著極好的體現。
            re: C++模板類的三種特化 SmartPtr 2007-07-05 11:53
            從廣義上來講, 我覺得可以把這種情形歸入模板偏特化。
            但是根據我們一般的理解,模板的偏特化是指需要根據模板的某些但不是全部的參數進行特化, 如下:
            template<class T1, class T2>
            class A
            {
            }

            template<class T1>
            class A<T1, int>
            {
            }

            說實話, 我第一次發現第二和第三種用法時, 還是覺得挺新鮮的,這到底是屬于全特化還是偏特化, 我也說不清楚, 但這也不重要,只要我們知道有這種用法,能應用它就行了
            re: do...while(0)的妙用 SmartPtr 2007-07-04 11:02
            to 沐楓
            歡迎參與討論。

            的確,對于用do-while-break消除goto語句,的確不是一個很完美的例子,用auto_ptr是一個很好的選擇, 而且這樣也達到了異常安全的目的。但是auto_ptr只能處理指針這種資源, 我們可能還有處理其他資源,比如文件, 數據庫鏈接,網絡連接等等。 這樣,在沒有類似auto_ptr的機制處理這些資源的時候, 用do-while-break會是一個比較簡單但不算太差的選擇。
            另外, 對于你提到的多層循環的問題, 我想你可能被“do-while是用來做循環“這個定式限制了,這里do-while(0)的作用是在執行遇到錯誤時能break,正確的釋放資源, 也就是說這么設計著去用的, 你想想, 是不是不會出現你想的那種情況?
            樓主好像對C++和CAD這一塊很有興趣與研究,我對這方面也有所了解,曾組隊自行研發學習過CAD系統。剛來CppBlog,樓主今后多多指教了。
            re: 網訊筆試歸來 SmartPtr 2007-03-04 23:09
            if (m_Data != NULL)
            {
            delete [] m_Data;
            m_Data = NULL;
            }

            ***************************************
            因為C++delete一個NULL指針是合法的。(可能編譯器delete的時候就對NULL進行了特殊處理),所以無需判斷,直接寫:
            delete [] m_Data;
            m_Data = NULL;
            共2頁: 1 2 
            久久SE精品一区二区| 国产成人久久精品区一区二区| 欧美日韩中文字幕久久久不卡 | 国产成人久久久精品二区三区| 久久久久亚洲AV成人网人人网站 | 亚洲欧美一级久久精品| 综合久久国产九一剧情麻豆| 久久久久久久尹人综合网亚洲| 一本大道久久香蕉成人网| 久久久国产精品亚洲一区| Xx性欧美肥妇精品久久久久久| 狠狠综合久久综合88亚洲| 91麻精品国产91久久久久| 亚洲精品乱码久久久久久久久久久久 | 久久大香萑太香蕉av| 亚洲国产成人久久精品动漫| 国内精品久久久久影院薰衣草 | 99精品国产在热久久无毒不卡| 国产精品久久久久a影院| 一本一道久久精品综合| 99精品久久久久久久婷婷| 久久无码人妻精品一区二区三区| 欧美午夜精品久久久久免费视| 久久精品国产亚洲AV无码麻豆 | 中文字幕乱码久久午夜| 久久久久亚洲av成人无码电影 | 91久久香蕉国产熟女线看| 精品久久久久久无码中文字幕一区 | 国内精品伊人久久久久妇| 99久久精品国产一区二区三区| 久久综合九色综合网站| 亚洲AV日韩精品久久久久| 麻豆av久久av盛宴av| 久久精品综合网| 久久久亚洲裙底偷窥综合| 欧美午夜A∨大片久久 | 久久久久国产| 久久国产AVJUST麻豆| 亚洲国产精品无码成人片久久| 亚洲中文字幕无码一久久区| 亚洲AV无码久久精品成人|