• <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 
            狠狠综合久久综合88亚洲| 亚洲精品乱码久久久久久蜜桃图片| 久久久久久久久久久精品尤物| 国产精品一区二区久久精品涩爱| 亚洲人成精品久久久久| 久久91亚洲人成电影网站| 国产午夜福利精品久久| 欧美成人免费观看久久| 久久久久女人精品毛片| 久久精品一区二区国产| 日韩欧美亚洲综合久久影院Ds| 亚洲精品乱码久久久久久蜜桃不卡| 久久er国产精品免费观看2| 性高湖久久久久久久久AAAAA| 欧美噜噜久久久XXX| 久久天天躁狠狠躁夜夜不卡| 久久婷婷激情综合色综合俺也去| 色综合久久精品中文字幕首页| 久久亚洲精品国产亚洲老地址| 成人综合伊人五月婷久久| 无夜精品久久久久久| 久久久久久综合一区中文字幕| 久久久久亚洲AV成人网人人网站| 大蕉久久伊人中文字幕| 热re99久久精品国99热| 久久久国产精品| 国产精品一久久香蕉国产线看观看 | 午夜精品久久久久久99热| 亚洲一区中文字幕久久| 青青草原精品99久久精品66| 久久99热这里只有精品国产| 欧美成a人片免费看久久| 9191精品国产免费久久 | 久久99国产精品99久久| 久久AV无码精品人妻糸列| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 26uuu久久五月天| 国产精品久久久久久福利69堂| 无码AV中文字幕久久专区| 午夜精品久久久久久99热| 久久精品蜜芽亚洲国产AV|